C++ List splice()函数

C++ List splice()函数

C++列表的splice函数将元素从列表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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程