• 初始化一个链表

    1. list<int> mylist{ ,,,, };
  • 链表排序
    1. mylist.sort();
  • 链表反转
    1. mylist.reverse();
  • 链表删除头部和尾部
    1. mylist.pop_back();//删除尾部
    2. mylist.pop_front();//删除头部
  • 链表头部与尾部添加
    1. mylist.push_front();//头部添加
    2. mylist.push_back();//尾部添加
  • 重新初始化链表,通过数组或给定数据
    1. mylist.assign(, );//重新初始化链表,3个5
    2. //通过数组初始化
    3. int a[] = { ,,,,,,,, };
    4. mylist.assign(a,a+);
  • 输出链表
    1. for (auto i : mylist)
    2. {
    3. cout << i << endl;
    4. }
  • 正向迭代,与插入和删除数据
    1. //正向迭代器
    2. for (auto ib = mylist.begin(), ie = mylist.end(); ib != ie; ib++)
    3. {
    4. if (*ib == )
    5. {
    6. //插入数据
    7. //mylist.insert(ib, 123);
    8. //删除数据
    9. mylist.erase(ib);
    10. break;
    11. }
    12. cout << *ib << endl;
    13. }
  • 反向迭代器
    1. //反向迭代器
    2. for (auto rb = mylist.rbegin(), re = mylist.rend(); rb != re; rb++)
    3. {
    4. cout << *rb << endl;
    5. }
  • 链表第一个数据和最后一个数据,以及链表元素的个数
    1. cout << "第一个数据:" << mylist.front() << endl;
    2. cout << "最后一个数据:" << mylist.back() << endl;
    3. cout << "个数:" << mylist.size() << endl;
  • 链表合并(合并前要先排序)
    1. list<int> mylist{ ,,,, };
    2. list<int> mylist2{ ,, };
    3. //链表合并
    4. mylist.sort();
    5. mylist2.sort();
    6. mylist.merge(mylist2);
  • 链表清空
    1. mylist.clear();
  • 链表嵌套
    1. list<int> mylist1{ ,,,, };
    2. list<int> mylist2{ ,,,, };
    3. list<int> mylist3{ ,,,, };
    4. list<list<int>> mylist{ mylist1,mylist2,mylist3 };
    5. for (auto i : mylist)
    6. {
    7. for (auto j : i)
    8. {
    9. cout << j << " ";
    10. }
    11. cout << endl;
    12. }
    13. cin.get();

1.STL list的更多相关文章

  1. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  2. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  3. STL的std::find和std::find_if

    std::find是用来查找容器元素算法,但是它只能查找容器元素为基本数据类型,如果想要查找类类型,应该使用find_if. 小例子: #include "stdafx.h" #i ...

  4. STL: unordered_map 自定义键值使用

    使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...

  5. C++ STL简述

    前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...

  6. codevs 1285 二叉查找树STL基本用法

    C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...

  7. STL bind1st bind2nd详解

    STL bind1st bind2nd详解   先不要被吓到,其实这两个配接器很简单.首先,他们都在头文件<functional>中定义.其次,bind就是绑定的意思,而1st就代表fir ...

  8. STL sort 函数实现详解

    作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...

  9. STL的使用

    Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...

  10. [C/C++] C/C++延伸学习系列之STL及Boost库概述

    想要彻底搞懂C++是很难的,或许是不太现实的.但是不积硅步,无以至千里,所以抽时间来坚持学习一点,总结一点,多多锻炼几次,相信总有一天我们会变得"了解"C++. 1. C++标准库 ...

随机推荐

  1. vue中makeMap方法的使用 (定义注册一些值 后期方便使用)

    function makeMap ( str, expectsLowerCase ) { var map = Object.create(null); var list = str.split(',' ...

  2. lhgDialog使用--loading提示(不自动关闭)

    使用lhgDialog时,发现有一个$.dialog.tips()方法可以实现loading样式的提示,但是存在默认关闭时间.方法如下图所示, 为了实现不自动关闭的方法,查看了相应的源码后,实现不关闭 ...

  3. [NOIP2014普及组]子矩阵

    题目:洛谷P2258.Vijos P1914.codevs 3904. 题目大意:给你一个矩阵,要你找一个r行c列的子矩阵,求最小分值(子矩阵和分值的定义见原题). 解题思路:n和m比较小,考虑暴力. ...

  4. Centos7(阿里云服务器)安装Anaconda的详细步骤与心得

    在本地安装Anaconda的各个版本的文章已经很多,但是感觉不是很详细,因此,在此发发自己在Centos7(阿里云服务器)安装Anaconda的心得和步骤: 注:需要注意的地方会用不同颜色区别. 1. ...

  5. 洛谷 P1209 [USACO1.3]修理牛棚 Barn Repair

    P1209 [USACO1.3]修理牛棚 Barn Repair 题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. ...

  6. 做一个萌萌哒的button之box-shadow

    接上篇:http://blog.csdn.net/u010037043/article/details/47035077 一.box-shadow box-shadow是给元素块加入周边阴影效果. b ...

  7. POJ 1088: 滑雪(经典 DP+记忆化搜索)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 74996   Accepted: 27818 Description ...

  8. 理解Linq查询

    using System; using System.Linq; static class Program { static double Square(double n) { Console.Wri ...

  9. 21.MFC进制转换工具

    相关代码:链接:https://pan.baidu.com/s/1pKVVUZL 密码:e3vf #include <stdlib.h> #include <stdio.h> ...

  10. Gym - 100625G Getting Through 计算几何+并查集

    http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contes ...