splice : 拼接两个list
api:
void dump(list<int>& li)
{
for(auto & i :li)
cout<<i<< " ";
cout<<endl;
}
int main()
{
list<int> li1 = {1,3,5};
list<int> li2 = {2,4,6};
}
1 c.splice(pos,c2);
// li的开头插入li2链表
li1.splice(li1.begin(),li2);
dump(li1);
dump(li2);
输出:
li1: 2 4 6 1 3 5
li2: null
2 c.splice(pos,c2,c2pos);
li1.splice(li1.end(),li2,li2.begin());
dump(li1);
dump(li2);
输出:
li1: 1 3 5 2
li2: 4 6
3 c.splice(pos,c2, c2beg,c2end)
//li的第二个元素后插入li2链表
// 方法1
auto itr = li1.begin();
advance(itr,2);
li1.splice(itr,li2,li2.begin(),li2.end());
dump(li1);
dump(li2);
输出:
li1: 1 3 2 4 6 5
li2: null
本文详细解释了如何在C++中使用`splice`函数对`list`进行插入操作,包括在列表开头、结尾以及指定位置插入子列表,并通过示例展示了不同情况下的输出结果。

1153

被折叠的 条评论
为什么被折叠?



