4499: 【例】list-remove()
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:20
解决:12
题目描述

样例输入 复制
3 30
样例输出 复制
10 20 30 40 50 60
10 20 30 30 30 40 50 60
10 20 40 50 60
提示
#include<bits/stdc++.h>
using namespace std;
void print(list<int> l){
list<int>::iterator it;
for(it=l.begin();it != l.end();it++){
cout<<*it<<" ";
}
cout<<endl;
}
int main(){
int a[]={10,20,30,40,50,60};
list<int> l(a,a+6);
int x,y,i;
print(l);
//注意:双向迭代器不支持+x(-x)的写法
//插入或者删除,就要从头开始移动迭代器到目标位置
//获取首地址
list<int>::iterator it=l.begin();
//cout<<"请输入要插入的位置x及元素的值y:";
cin>>x>>y;
for(i= 1;i< x;i++){
it++;
}
//在it的位置插入2个y
l.insert(it,2,y);
print(l);
//remove:移除值为?的元素
l.remove(30);
print(l);
return 0;
}