deque应用

发布时间 2023-12-31 09:37:22作者: 王ys

删除指定数字

#include<iostream>
#include<deque>
using namespace std;
int main(){
    int n,x;
    cin>>n;
    int m[n];
    for(int i=0;i<n;i++){
        cin>>m[i];
    }
    deque<int> a(m,m+sizeof(m)/sizeof(int));
    cin>>x;
    a.erase(a.begin()+x-1);
    for(int i=0;i<a.size();i++){
        cout<<a[i]<<" ";
    }
}

插入指定数字

#include<iostream>
#include<deque>
using namespace std;
int main(){
    int n,x,y;
    cin>>n;
    int m[n];
    for(int i=0;i<n;i++){
        cin>>m[i];
    }
    deque<int> a(m,m+sizeof(m)/sizeof(int));
    cin>>x;
    cin>>y;
    a.insert(a.begin()+x-1,y);
    for(int i=0;i<a.size();i++){
        cout<<a[i]<<" ";
    }
}

修改指定数字

#include<iostream>
#include<deque>
using namespace std;
int main(){
    int n,x,y;
    cin>>n;
    int m[n];
    for(int i=0;i<n;i++){
        cin>>m[i];
    }
    deque<int> a(m,m+sizeof(m)/sizeof(int));
    cin>>x;
    cin>>y;
    a.insert(a.begin()+x-1,y);
    a.erase(a.begin()+x);
    for(int i=0;i<a.size();i++){
        cout<<a[i]<<" ";
    }
}

首项循环提后

#include<iostream>
#include<deque>
using namespace std;
int main(){
    int n,x,y;
    cin>>n;
    int m[n];
    for(int i=0;i<n;i++){
        cin>>m[i];
    }
    cin>>y;
    deque<int> a(m,m+sizeof(m)/sizeof(int));
    for(int i=0;i<y;i++){
	    x=a.front();
	    a.pop_front();
	    a.push_back(x);
	}
    for(int i=0;i<a.size();i++){
        cout<<a[i]<<" ";
    }
}