大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
#include <iostream>
#include <list>
using namespace std;
int main ()
{
std::list<int> mylist1, mylist2;
std::list<int>::iterator it;
// set some initial values:
for (int i=1; i<=4; ++i)
mylist1.push_back(i);
cout << "mylist1 contains:";
for (it=mylist1.begin(); it!=mylist1.end(); ++it)
cout << ' ' << *it;
cout << endl; // mylist1: 1 2 3 4
for (int i=1; i<=3; ++i)
mylist2.push_back(i*10);
cout << "mylist2 contains:";
for (it=mylist2.begin(); it!=mylist2.end(); ++it)
cout << ' ' << *it;
cout <<endl; // mylist2: 10 20 30
it = mylist1.begin();
++it;
cout<<"it: "<<*it<<endl; // points to 2
mylist1.splice (it, mylist2); //第一种用法,list1调用splice方法,将list2中的元素插入到it前面,清空list2链表元素
// mylist1: 1 10 20 30 2 3 4
// mylist2 (empty)
// "it" still points to 2 (the 5th element)
cout<<"it: "<<*it<<endl; // points to 2
/*cout << "mylist1 contains:";
for (it=mylist1.begin(); it!=mylist1.end(); ++it)
cout << ' ' << *it;
cout << endl;
cout << "mylist2 contains:";
for (it=mylist2.begin(); it!=mylist2.end(); ++it)
cout << ' ' << *it;
cout << endl;*///这个遍历改变了it所指的值
mylist2.splice (mylist2.begin(),mylist1, it);//第二种用法,list2调用splice方法,将list1中的单个元素插入到list2位置的前面
// mylist1: 1 10 20 30 3 4
// mylist2: 2
// "it" is now invalid.
it = mylist1.begin();
advance(it,3); // 迭代器递增函数,"it" points now to 30
mylist1.splice ( mylist1.begin(), mylist1, it, mylist1.end());//第三种用法,list1调用splice方法,将list1的it位置到end位置插入到list1的begin前面
// mylist1: 30 3 4 1 10 20
cout << "mylist1 contains:";
for (it=mylist1.begin(); it!=mylist1.end(); ++it)
cout << ' ' << *it;
cout << endl;
cout << "mylist2 contains:";
for (it=mylist2.begin(); it!=mylist2.end(); ++it)
cout << ' ' << *it;
cout << endl;
return 0;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189928.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...