list容器的学习

本文通过C++代码示例展示了如何使用`std::list`进行数据插入(头插、尾插、指定位置插入)、访问、排序、删除以及与其他容器拼接等操作。代码中包含了对容器元素的增删改查,以及排序和迭代器遍历等基本操作。
摘要由CSDN通过智能技术生成
#include <iostream>
using namespace std;
#include <list>
#include <string>

int main()
{
	//创建类对象
	list<string> strList;
	//新增数据: 头插
	strList.push_front("张三");
	//新增数据: 尾插
	strList.push_back("李四");
	//新增数据:某个位置插入--头的位置插入一个元素
	strList.insert(strList.begin(), "王五");

	//新增数据:某个位置插入--头的位置插入一个元素
	strList.insert(++strList.begin(), "sss");

	//访问:迭代器
	list<string>::iterator it;
	//排序
	strList.sort();
	for (it = strList.begin(); it!= strList.end(); it++) 
	{
		cout << *it << endl;
	}

	//删除: 删除第三个元素或者第二个之后的全部删除
	it = strList.begin();
	it++;
	it++;
	strList.erase(it);// 
	//删除:头部删除
	strList.pop_front();
	//删除: 尾部删除
	strList.pop_back();
	//strList.erase(it, strList.end());
	cout << "删除后的:" << endl;
	for (it = strList.begin(); it != strList.end(); it++)
	{
		cout << *it << endl;
	}

	list<string> tmpList;
	tmpList.push_back("111");
	tmpList.push_back("222");
	tmpList.push_back("333");

	//把tmpList拼接到strList容器的开始的位置
	strList.splice(strList.begin(), tmpList);

	cout << tmpList.size() << endl;
	cout << "splice后的:" << endl;
	for (it = strList.begin(); it != strList.end(); it++)
	{
		cout << *it << endl;
	}


	strList.clear();//元素的析构函数会自动被调用

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值