當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ List splice()用法及代碼示例


C++ 列表拚接函數將列表 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;
}

輸出:

5 6 7 8 1 2 3 4

例子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;}

輸出:

9 10 11 12 13

例子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




相關用法


注:本文由純淨天空篩選整理自 C++ List splice()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。