list(链表):http://baike.baidu.com/link?url=gkVdBlHEzy6ssrgT5Iy2wze4jl37ka1G45TRpUHrQSYFZQg2HimtUCePV0tU_mrWcOovzzzxaO2Cts23AY6LUK

需要包括头文件<list>

定义:

list<数据类型> 变量名;

Eg:

list <int> l;//定义了一个整型的链表;

基本操作(红色标识为常用操作):

  l.back() 返回最后一个元素的引用

  l.begin()返回指向第一个元素的迭代器

  l.clear()删除所有元素

  l.empty() 如果list为空则返回true

  l.end() 返回末尾元素的下一个迭代器

  l.erase(it)删除由迭代器it所指向的元素

  l.erase(it,start,end)删除由迭代器it所指向的序列(start,end]

  l.insert(it,val)在迭代器it指向的元素前插入新元素val

  l.insert(it,num,val)在迭代器it指向的元素前插入num个值为val的元素

  l.insert(it, first, last)将由迭代器first 和last 所指定的序列[first, last)插入到迭代器it 指向的元素前面。

  l.merge() 合并两个list

  l.pop_back() 删除最后一个元素

  l.pop_front() 删除第一个元素

  l.push_back() 尾部添加一个元素

  l.push_front() 头部添加一个元素

代码解释:

#include<list>
#include<iostream>

using namespace std;

int main()
  {
   list <int> a;
   a.push_back(1);
   a.push_back(2);
   a.push_back(3);
  /* 
   for (int i=0;i<a.size();i++)
     cout<<a[i]<<endl;
  */                                //因为链表的储存空间不是连续的,所以无法用下标法进行遍历。
   list <int> ::iterator ator=a.begin();//上次讲过,这里就不细说了了。
   for (;ator!=a.end();ator++)
      cout<<*ator<<endl; 
      cout<<endl;
      ator--;
    a.insert(ator,5);//蓝色部分为解释擦如元素。
    ator=a.begin();
 for (;ator!=a.end();ator++)
      cout<<*ator<<endl;
    cout<<endl;        
     a.push_front(3);//头插入元素
   ator=a.begin();
 for (;ator!=a.end();ator++)
      cout<<*ator<<endl; 
   return 0;
  }

//vector与list最大差别在于链表能够支持在任意位置插入元素,而vector不能。即list储存空间不连续,而vector储存空间连续。

C++之路起航——标准模板库(list)的更多相关文章

  1. C++之路起航——标准模板库(vector)

    vector(动态数组或向量):动态分配内存空间的线性储存结构. 需要包括头文件<vector> 定义: vector<数据类型> 变量名: Eg: vector<int ...

  2. C++之路起航——标准模板库(queue)

    queue: FIFO队列:先进先出队列. 优先队列:对队列中的元素按优先级的大小输出. 定义: FIFO队列: queue<数据类性>变量名. 优先队列:priority_queue&l ...

  3. C++之路起航——标准模板库(deque)

    deque(双端队列):http://baike.baidu.com/link?url=JTvA2cuLubptctHZwFxswvlZvxNdFOxmifsYCGLj5IZF-Tj4rbWLv8Jn ...

  4. C++之路起航——标准模板库(set)

    set(集合):http://baike.baidu.com/link?url=cb68AB-3qfEK8RoaGHJFClb4ZiWpJfc32lPOLtaNUrdxntFC738zCZsCiUlf ...

  5. [转载]C++之路起航——标准模板库(deque)

    转自:https://www.cnblogs.com/grhyxzc/p/5074061.html deque(双端队列):http://baike.baidu.com/link?url=JTvA2c ...

  6. 标准模板库(STL)学习指南之sort排序

    对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思 ...

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

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

  8. 【转】C++标准库和标准模板库

    C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...

  9. STL标准模板库介绍

    1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...

随机推荐

  1. BLE-NRF51822教程19-Battery Service

    Battery Service是有关电池特性方面的服务,如果需要它,在初始化时将它加入到蓝牙协议栈. 如果通过ble_bas_battery_level_update(),电池电量将会通知,Batte ...

  2. 轮询、select、 epoll

    网卡设备对应一个中断号, 当网卡收到网络端的消息的时候会向CPU发起中断请求, 然后CPU处理该请求. 通过驱动程序 进而操作系统得到通知, 系统然后通知epoll, epoll通知用户代码.  一. ...

  3. Visual Studio 2005安装qt-win-commercial-src-4.3.1,并设置环境变量

    虽然已经在Visual Studio 2005下安装Qt4已经n次了,还是打算在上写写安装方法. qt-win-commercial-src-4.3.1.zip.qt-vs-integration-1 ...

  4. HD 1003 Max Sum 的递归解法

    #include <STDIO.H> typedef struct SU_tag{ SU_tag(){} SU_tag(int a,int b,int c):max_sum(a),left ...

  5. [LeetCode]题解(python):042-Trapping Rain Water

    题目来源 https://leetcode.com/problems/trapping-rain-water/ Given n non-negative integers representing a ...

  6. Oracle deadlock SX/SSX caused by no index on foreign key.

    Example to show the dead lock caused by lack of index on foreign key of child table. Session 1: crea ...

  7. 我就是认真:Linux SWAP 深度解读(必须收藏)

    我就是认真:Linux SWAP 深度解读(必须收藏) http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651660097& ...

  8. Android 关于ListView中adapter调用notifyDataSetChanged无效的原因

    话说这个问题已经困扰我很久了,一直找不到原因,我以为只要数据变了,调用adapter的notifyDataSetChanged就会更新列表,最近在做微博帐号管理这一块,想着动态更新列表,数据是变了,但 ...

  9. Html语言基础

    接触html有一段时间了,对html做简单的总结. 1.HTML基础标签 <p>这是段落</p> 浏览器中效果: 这是段落 -------------------------- ...

  10. Apache kafka原理与特性(0.8V)

    前言: kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer) ...