C++ List splice()
C++ List splice()
C++ List 拼接功能将列表y中的元素转移到指定位置的列表容器中,这导致更改两个列表的大小。
语法
void splice(iterator pos, list& y);
void splice(iterator pos, list& y, iterator pos1);
void splice(iterator pos, list& y, iterator first, iterator last);
参数
y : 这是要从其传输内容的相同类型的列表对象。
pos : 它定义y元素的插入位置。
pos1 : pos1指向的元素将被传送。
(first,last): 它定义了要传输的元素的范围。
返回值
它不返回任何值。
示例1
让我们看一个简单的示例
#include <iostream>
#include<list>
using namespace std;
int main()
{
list<int> li={1,2,3,4};
list<int> li1={5,6,7,8};
list<int>::iterator itr=li.begin();
li.splice(itr,li1);
for(list<int>::iterator itr=li.begin();itr!=li.end();++itr)
std::cout << *itr <<" ";
return 0;
}
输出:
示例2
让我们看一个简单的示例
#include <iostream>
#include<list>
using namespace std;
int main()
{
list<int> li={9,11,12,13};
list<int> li1={10,6,7,8};
list<int>::iterator itr=li.begin();
list<int>::iterator itr1=li1.begin();
++itr;
li.splice(itr,li1,itr1);
for(list<int>::iterator itr=li.begin();itr!=li.end();++itr)
std::cout << *itr <<" ";
return 0;}
输出:
示例3
让我们看一个简单的示例
#include <iostream>
#include<list>
using namespace std;
int main()
{
list<string> li={"programming language"};
list<string> li1={"java","is","a","language"};
list<string>::iterator itr=li.begin();
list<string>::iterator itr1=li1.begin();
advance(itr1,3);
li.splice(itr,li1,li1.begin(),itr1);
for(list<string>::iterator itr=li.begin();itr!=li.end();++itr)
std::cout << *itr <<" ";
return 0;
}
输出:
java is a programming language