书上说,list的迭代器只能进行“++”或“——”操作,不能进行+n或-n的操作,因为元素的位置并不是物理相连的。。
好吧,那就弄个for循环来实现+n的效果。
下面是我的代码:
1 #include<iostream> 2 #include<list> 3 using namespace std; 4 5 int main() 6 { 7 int m,n; 8 cin>>m>>n; 9 list<int> l; 10 for(int i=1; i<=m; i++) 11 { 12 l.push_back(i); 13 } 14 list<int>::iterator it=l.begin(); 15 for(int i=1; i<=n; i++,it++)cout<<*it<<endl;; 16 cout<<*it<<endl; 17 18 19 return 0; 20 }
输入
20 5
输出
1
2
3
4
5
6
真是奇了怪了!!!!
时间: 2024-10-05 23:57:44