4498: 【例】list-insert()-2

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:31 解决:13

题目描述

样例输入 复制

3 30

样例输出 复制

10 20 30 40 50 60
10 20 30 30 30 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);
    return 0;
}