list的用法

这篇具有很好参考价值的文章主要介绍了list的用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、list的遍历

#include <iostream>
#include <list>
#include <algorithm>
using namespace std;

// list的遍历
void test_list1()
{
	list<int> lt;
	lt.push_back(1);
	lt.push_back(2);
	lt.push_back(3);
	lt.push_back(4);
	lt.push_back(5);

	//迭代器
	list<int>::iterator it = lt.begin();
	while (it != lt.end())
	{
		*it *= 3;
		++it;
	}

	//范围for
	for (const auto& e : lt)
	{
		cout << e << " ";
	}
	cout << endl;
}

2、list的头插、头删、尾插、尾删 【其时间复杂度都是:O(1)】

void test_list2()
{
	list<int> lt;
	lt.push_back(1);
	lt.push_back(2);
	lt.push_back(3);
	lt.push_back(4);
	lt.push_back(5);

	for (const auto& e : lt)
	{
		cout << e << " ";
	}
	cout << endl;

	lt.pop_back();
	lt.pop_back();

	lt.push_front(1);
	lt.push_front(1);

	for (const auto& e : lt)
	{
		cout << e << " ";
	}
	cout << endl;

	lt.pop_front();
	lt.pop_front();

	for (const auto& e : lt)
	{
		cout << e << " ";
	}
	cout << endl;
}

3、find\insert\erase

// find\insert\erase
//find 统一放置在STL的 <algorithm>里面了
void test_list3()
{
	list<int> lt;
	lt.push_back(1);
	lt.push_back(2);
	lt.push_back(3);
	lt.push_back(4);
	lt.push_back(5);

	auto pos = find(lt.begin(), lt.end(), 3);
	if (pos != lt.end())
	{
		lt.insert(pos, 30);
		lt.insert(pos, 20); // 这里的pos不会失效
		lt.insert(pos, 10);
		*pos = 9;
	}

	for (auto e : lt)
	{
		cout << e << " ";
	}
	cout << endl;

	pos = find(lt.begin(), lt.end(), 4);
	if (pos != lt.end())
	{
		lt.erase(pos);
		//这里的pos会失效;因为pos结点已经被删除了,再去访问就成了非法访问 野指针了。
		/*cout<< *pos <<endl;*/
	}

	for (auto e : lt)
	{
		cout << e << " ";
	}
	cout << endl;
}

4、sort:底层用的排序思想是 mergesort【归并排序】

void test_list4()
{
	list<int> lt;
	lt.push_back(5);
	lt.push_back(4);
	lt.push_back(3);
	lt.push_back(2);
	lt.push_back(1);

	lt.sort(); //相当于对 [lt.begin(),lt.end()) 进行归并排序

	for (auto e : lt)
	{
		cout << e << " ";
	}
	cout << endl;
}
// N个(N很大)数据需要排序,选择哪一种:(1)vector + 算法sort【底层是:快排】  (2)list + 自身sort【底层是:归并排序】
// vector更具有优势
int main()
{
	test_list4();

	return 0;
}

文章来源地址https://www.toymoban.com/news/detail-708882.html

到了这里,关于list的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python中list的各种用法

    一、创建Python列表的方法 1)通过list()函数进行创建:  2)直接赋值 二、访问列表中的值 1)直接用索引访问 与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。通过索引列表可以进行截取、组合等操作。用索引来访问list中每一个位置的元素,记得索引

    2024年02月05日
    浏览(30)
  • 【STL】list用法&试做_底层实现

    目录 一,list  使用 1. list 文档介绍  2. 常见接口 1.   list中的sort 2. list  + sort 与 vector  + sort效率对比 3. 关于迭代器失效 4. clear 二,list 实现 1.框架搭建  2. 迭代器类——核心框架 3. operator-  实现  4. const——迭代器 5. insert 6. erase 7. clear——实现 8. 拷贝构造  首先实现迭

    2024年02月16日
    浏览(34)
  • 【C++】STL---list基本用法介绍

    个人主页:平行线也会相交💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【C++之路】💌 本专栏旨在记录C++的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长,共同进步。🍓 list 是STL中的一种 容器 ,底层其实就是一个 双向链

    2024年02月16日
    浏览(43)
  • Ant Design Form.List基础用法

    项目中需要在新增可以多个如图 代码如下 其中add 方法可以添加参数,为添加的默认参数 注意: {…field} 一定要放在 name={[field.name,‘XXX’]} 的前面,否则就会出错 以上共勉

    2024年02月07日
    浏览(46)
  • Java从List中删除元素的正确用法

    还是先举个例子,你侄女对天文知识感兴趣,然后你就用程序写了太阳系九大星系(水星、金星、地球、火星、木星、土星、天王星、海王星、冥王星)的运行轨迹图,然后拿给侄女看。然后她说错了错了,你的知识太旧了,多了一颗星。根据2006年8月24日国际天文联合大会召

    2024年02月09日
    浏览(40)
  • FreeMarker系列--list的用法(长度,遍历,下标,嵌套,排序)

    原文网址:FreeMarker系列--list的用法(长度,遍历,下标,嵌套,排序)_IT利刃出鞘的博客-CSDN博客 本文介绍FreeMarker的list的用法。 Java Freemaker _index是list的一个属性 嵌套时前面要有括号,如下,将字符串变成list,然后取第i个元素的值 嵌套时前面要有括号,如下,将字符串变成li

    2024年02月12日
    浏览(35)
  • 【SpringBoot】用SpringBoot代码详细解释<List>的用法

    在Spring Boot应用程序中,我们可以使用Java集合框架中的List接口来存储并操作一组数据。 List是Java集合框架中的一种数据结构,用于存储一组有序的元素 。使用List可以方便地向其中添加、删除或者修改元素,也可以通过下标或者迭代器遍历其中的元素。 在Spring Boot应用程序中

    2024年02月10日
    浏览(34)
  • 【STL】list常见用法及模拟实现(附完整源码)

    前言 这篇文章我们继续STL中容器的学习,这篇文章要讲解的是list。 1. list介绍及使用 1.1 list介绍 list文档 list的底层实现就是数据结构学过的带头双向循环链表: 1.2 list使用 我们来看一下几个常用的接口: 首先看一下构造函数: 这里几个都是我们熟悉的,默认构造、n个val构

    2024年02月07日
    浏览(45)
  • python列表list的index方法的用法和实例

    目录 1.index方法的用法和实例 (1)语法:list.index(object[,start,end]) (2)用法:从列表中获取指定索引元素的第一个匹配位置。 (3)实例 ①简单的用法实例 ②与pop用法结合使用 ③if函数、while函数、input函数、for函数、split函数、pop方法结合使用 object:需要定索引的列表元

    2024年02月14日
    浏览(36)
  • Python教程(9)——Python变量类型列表list的用法介绍

    在Python中,列表(list)是一种有序、可变的数据结构,用于存储多个元素。列表可以包含不同类型的元素,包括整数、浮点数、字符串等。实际上列表有点类似C++语言中的数组,但仅仅只是类似,和数组还是有点不一样的。列表非常适合利用顺序和位置定位某一元素,尤其是

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包