您的位置:首页 > 其它

STL链表之插入元素(list)

2014-06-28 22:02 127 查看


Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^

题目描述

给出一个只有头指针的链表和 n 次操作,每次操作为在链表的第 m 个元素后面插入一个新元素x。若m 大于链表的元素总数则将x放在链表的最后。

输入

多组输入。每组数据首先输入一个整数n(n∈[1,100]),代表有n次操作。
接下俩的n行,每行有两个整数Mi(Mi∈[0,10000]),Xi。

输出

对于每组数据。从前到后输出链表的所有元素,两个元素之间用空格隔开。

示例输入

4
1 1
1 2
0 3
100 4


示例输出

3 1 2 4




今天碰到一道链表的题,然后窃喜自己前阵子刚学的list,正准备大发神威秒了它,忽然发现一个很严重的问题,list的基本操作,本渣渣给忘了

(这才几天!)

由此总结出了一条经验,博客要经常回头翻阅!

#include <stdio.h>
#include <iostream>
#include <list>
using namespace std;
int main()
{
   list <int>::iterator j;
   int n,m,x,i;
   while(scanf("%d",&n)!=EOF)
   {
   	list <int> node;
   while(n--)
   {
    cin>>m>>x;
    j=node.begin();
    for(i=0;i<m&&j!=node.end();i++)
		++j;
	node.insert(j,x);
   }
   j=node.begin();
   for(i=0;i<node.size();i++)
	if(i!=node.size()-1)
	cout<<*j++<<" ";
   else
	cout<<*j++<<endl;
   }
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: