c++ list 合并操作函数实例

简介: #include #include using namespace std;//list 链表的打印void print(list& l){ list::iterator i,iend; iend = l.
#include <list>
#include <iostream>
using namespace std;

//list  链表的打印
void print(list<int>& l)
{
	list<int>::iterator i,iend;
	iend = l.end();

	for (i=l.begin();i!=iend;i++)
	{
		cout<<*i<<' ';
	}
}

int main()
{

	list<int> l;

	for (int j = 1;j <=10;j++ )
	{
		l.push_back(j);
	}

	//splice()函数
	/*
	//void splice(iterator position , list& x)
	将x的链表归并到当前list链表的position位置之前, list对象x将被清空

	 void splice(iterator position , list& , iterator i)
	 将一个list的迭代器i值所指的元素,归并到当前list链表中, 并将被归并元素从原链表中删除


	//
	*/

	list<int> carry;
	carry.splice(carry.begin(),l,l.begin());

	cout<<"carry的链表元素为:";
	print(carry);
	cout<<endl;

	cout<<"l 的链表元素为:";
	print(l);
	cout<<endl;


	//merge()函数用法
	/*

	void merge()合并两个链表并使之默认升序(也可改):
	*/

	list<int> x;
	x.push_back(32);
	x.push_back(33);
	x.push_back(34);

	l.merge(x);

	cout<<"l 的链表元素为:";
	print(l);
	cout<<endl;


	getchar();
	return 0;

}

相关文章
|
6月前
|
人工智能 机器人 编译器
c++模板初阶----函数模板与类模板
class 类模板名private://类内成员声明class Apublic:A(T val):a(val){}private:T a;return 0;运行结果:注意:类模板中的成员函数若是放在类外定义时,需要加模板参数列表。return 0;
189 0
|
9月前
|
安全 C++
【c++】继承(继承的定义格式、赋值兼容转换、多继承、派生类默认成员函数规则、继承与友元、继承与静态成员)
本文深入探讨了C++中的继承机制,作为面向对象编程(OOP)的核心特性之一。继承通过允许派生类扩展基类的属性和方法,极大促进了代码复用,增强了代码的可维护性和可扩展性。文章详细介绍了继承的基本概念、定义格式、继承方式(public、protected、private)、赋值兼容转换、作用域问题、默认成员函数规则、继承与友元、静态成员、多继承及菱形继承问题,并对比了继承与组合的优缺点。最后总结指出,虽然继承提高了代码灵活性和复用率,但也带来了耦合度高的问题,建议在“has-a”和“is-a”关系同时存在时优先使用组合。
491 6
|
程序员 C++ 容器
在 C++中,realloc 函数返回 NULL 时,需要手动释放原来的内存吗?
在 C++ 中,当 realloc 函数返回 NULL 时,表示内存重新分配失败,但原内存块仍然有效,因此需要手动释放原来的内存,以避免内存泄漏。
|
存储 前端开发 C++
C++ 多线程之带返回值的线程处理函数
这篇文章介绍了在C++中使用`async`函数、`packaged_task`和`promise`三种方法来创建带返回值的线程处理函数。
528 6
|
C++
C++ 多线程之线程管理函数
这篇文章介绍了C++中多线程编程的几个关键函数,包括获取线程ID的`get_id()`,延时函数`sleep_for()`,线程让步函数`yield()`,以及阻塞线程直到指定时间的`sleep_until()`。
317 0
C++ 多线程之线程管理函数
|
编译器 C语言 C++
详解C/C++动态内存函数(malloc、free、calloc、realloc)
详解C/C++动态内存函数(malloc、free、calloc、realloc)
2441 1
|
编译器 C语言 C++
C++入门6——模板(泛型编程、函数模板、类模板)
C++入门6——模板(泛型编程、函数模板、类模板)
221 0
C++入门6——模板(泛型编程、函数模板、类模板)
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1365 1
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
423 1