C ++ 列表拼接函數(shù)用于將元素從列表y轉移到指定位置的列表容器中,這導致兩個列表的大小都發(fā)生改變。
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):它定義了要傳輸?shù)脑氐姆秶?/p>
它不返回任何值。
讓我們看一個簡單的實例
#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; }
輸出:
5 6 7 8 1 2 3 4
讓我們看一個簡單的實例
#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; }
輸出:
9 10 11 12 13
讓我們看一個簡單的實例
#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