C++ List 中的 splice()函数

首页 / C++入门教程 / C++ List 中的 splice()函数

C++列表拼接函数将元素从列表y转移到指定位置的列表集合中,这导致两个列表的大小都发生改变。

splice - 语法

void splice(iterator pos, list& y); 
void splice(iterator pos, list& y, iterator pos1);
void splice(iterator pos, list& y, iterator first, iterator last);

splice - 参数

y      -  这是与内容传输类型相同的列表对象。

pos  - 它定义y元素的插入位置。

pos1 - 由pos1指向的元素将被传输。

(first,last) - 它定义了要传输的元素的范围。

splice - 返回值

它不返回任何值。

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

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

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

跟月影学可视化 -〔月影〕

Redis核心技术与实战 -〔蒋德钧〕

分布式数据库30讲 -〔王磊〕

陶辉的网络协议集训班02期 -〔陶辉〕

编程高手必学的内存知识 -〔海纳〕

深入浅出分布式技术原理 -〔陈现麟〕

说透低代码 -〔陈旭〕

零基础学Python(2023版) -〔尹会生〕

好记忆不如烂笔头。留下您的足迹吧 :)