一丶List容器的存储结构

list容器底层是链表结构来维护的.跟vector不一样. vector是数组维护的.拥有连续内存.所以可以使用[] 运算符操作.list底层是链表维护.内存不连续.所以不能使用[]运算符.

且对比vector添加了新的方法.因为底层是链表.所以可以对头尾进行删除或者添加元素.

二丶丶STL中list容器的使用.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <list>
using namespace std; int main(char *argc, char *argv[]) { list<int> lst;
lst.push_back(1);
lst.push_back(2);
lst.push_back(4);
lst.push_back(3); //尾部添加元素
lst.push_front(5);//头部添加元素 //迭代list容器
list<int>::iterator it = lst.begin(); lst.sort(less<int>()); //从小到大排序
lst.sort(greater<int>());//从大到小删除 for (it; it != lst.end(); it++)
{
cout << (*it) << endl; //lst不是连续内存,不支持 [] 操作符.
// cout << lst.back() << " " << lst.front() << endl; }
lst.erase(it); //删除指定元素.
lst.pop_back(); //从尾部删除元素
lst.pop_front();//从头部删除元素
it = find(lst.begin(), lst.end(), 10);//查找.返回找到的it位置.
lst.insert(it, 11); //从指定it位置插入.
cout << "--------------------------" << endl;
getchar();
system("pause"); }

总结: 比vector容器多了一个头操作.不支持[]操作符. 有自己的内部排序.

C++STL模板库序列容器之List容器的更多相关文章

  1. C++STL模板库序列容器之vector

    目录 STL之Vecter 一丶STL简介 二丶Vector用法 1.vector容器的使用 2.vector迭代器. 3.vector中的方法. 三丶常用算法 1.常见算法中的算法方法. 2.sor ...

  2. C++STL模板库序列容器之deque

    目录 一丶队列容器deque简介 二丶使用代码演示 一丶队列容器deque简介 deque底层跟vector一样,都是数组维护.不同的是可以操作头部. 二丶使用代码演示 #define _CRT_SE ...

  3. C++STL模板库关联容器之set/multiset

    目录 一丶关联容器简介.set/multiset 二丶演示代码. 一丶关联容器简介.set/multiset 我们的序列容器,底层都是线性表构成的. 比如 vector list deque. 关联容 ...

  4. iBinary C++STL模板库关联容器之map/multimap

    目录 一丶关联容器map/multimap 容器 二丶代码例子 1.map的三种插入数据的方法 3.map集合的遍历 4.验证map集合数据是否插入成功 5.map数据的查找 6.Map集合删除元素以 ...

  5. C++ 泛型程序设计与STL模板库(1)---泛型程序设计简介及STL简介与结构

    泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型.例如: 将 ...

  6. C++STL模板库适配器之queue队列

    目录 适配器之队列 一丶队列简介 二丶队列(queue)代码操作 1.常用方法 适配器之队列 一丶队列简介 队列是先进先出的数据结构. 在STL中使用 queue表示. 底层使用的是序列容器deque ...

  7. C++STL模板库适配器之优先级队列

    目录 适配器之优先级队列 一丶优先级队列简介(priority_queue) 二丶优先级队列代码演示 1.优先级队列代码以及使用简介 适配器之优先级队列 一丶优先级队列简介(priority_queu ...

  8. C++STL模板库适配器之stack容器

    目录 适配器 一丶适配器简介 二丶栈(stack)用法 1.栈的常用方法 适配器 一丶适配器简介 Stl中的适配器,有栈 (stack) 队列 queue 根priority_queue 适配器都是包 ...

  9. STL序列容器之deque

    一,deque的基础知识 1.deque的基础 deque是“double-ended-queue”的缩写,意思是双端队列,其和vector的区别在于vector是单端的. deque在头部和尾部插入 ...

随机推荐

  1. vs2015配置OpenCV遇到的问题

    OpenCV的配置过程可以参考博文:https://www.cnblogs.com/linshuhe/p/5764394.html 简要记载配置过程: 1.官网下载OpenCV安装包,并解压到目录,例 ...

  2. vue定义全局组件

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...

  3. 无线路由WMM,Short GI,AP隔离功能介绍(转)

    无线路由器中有开启WMM.开启Short GI和开启AP隔离分别代表什么呢?这是我在我的TP-LINK无线路由器TL-WR841N中的无线高级设置中看到的三个选项,下面三点对这三项无线高级设置做了下解 ...

  4. linux系统资源监控

    top命令 1.平均负载(load average): 正在耗费CPU进程与正在等待io的进程之和,三个值分别是一分钟,五分钟,十五分钟的平均负载,负载值只要小于CPU颗粒数属于正常情况 任务进程(T ...

  5. Openstack的视频学习

    0.安装环境准备 部署架构: 网络模式(红色Net0为管理网络,Net1接外网,Net2是接虚拟机网络流量的): 虚拟化平台为VirtualBox,虚拟网络Host-Only网络的配置: Net0:管 ...

  6. npm install命令详解

    -S,–save 安装包信息将加到dependencies(生产阶段的依赖) npm install --save 或 npm install -S -D, –save-dev 安装包信息将加到dev ...

  7. Hadoop集群搭建-full完全分布式(三)

    环境:Hadoop-2.8.5 .centos7.jdk1.8 一.步骤 1).4台centos虚拟机 2). 将hadoop配置修改为完全分布式 3). 启动完全分布式集群 4). 在完全分布式集群 ...

  8. Hadoop源码分析:Hadoop编程思想

    60页的ppt讲述Hadoop的编程思想 下载地址 http://download.csdn.net/detail/popsuper1982/9544904

  9. 【计算机篇】目前最好用的 PPT 神器 — iSlide! 一键完成 PPT 设计!

    谈到工作中的难题,PPT 这个不起眼的软件,绝对算一个.不同于 Word.Excel,PPT 既要传递信息,还要讲求设计.这很容易使大部分人感觉素材不够,设计不专业或者效率不高.以往为了解决 PPT ...

  10. 数据库sql常见优化方法

    以前刚开始做项目的时候,开发经验尚浅,每次遇到查询比较慢时,项目经理就会问:是不是又用select * 了?查询条件有没有加索引?一语惊醒梦中人,赶紧检查..果然如此! 有时我们写sql语句时,没有考 ...