• C++学习6 顺序容器


    C++学习6 顺序容器

    什么是容器?

    容器的概念并没有发现,我倾向于理解其为:容纳若干元素的集合。

    什么是顺序容器?

    我认为:顺序容器首先是一种数据结构,他使得里面的每个元素都具有顺序性。这种顺序只代表位置(或者索引)。

    下面就给出一点顺序容器的例子吧!

    1. vector 这个我们见过了。相当于一个储存着同种元素的可变大小的东西。他支持快速随机访问。一般只在尾部插入删除数据。
    2. deque。 双端队列。支持快速随机访问。 他在首尾两端插入删除数据的速度比较快。
    3. list 双向链表。 只支持双向顺序访问(链表嘛!)再链表的任何位置插入和删除都很快。
    4. forward_list 单相链表。只支持正向访问。在链表的任何位置插入和删除都很快。
    5. array 固定大小数组。支持快速随机访问。不能添加删除元素。
    6. string 字符串,这个不多说了。随机访问块,在尾部插入删除快。只适合于字符串一般。

    对于使用建议详见293页。总结起来一句话就是:能用vector就用vector,千方百计地试图用vector!

    对顺序容器一般如此使用:顺序容器名<元素类型> ,例如:vector<vector< int > >

    什么是迭代器?

    同样地迭代器的概念并没有给出。我理解的迭代器是指容器的特定的元素。比如说对于顺序容器,我们可以使用begin()和end()方法来访问容器中的元素。他们具有如下特点:

    1. begin代表首元素;end可以代表尾元素的下一个元素。即容器的范围是一个左闭区间:[begin,end)
    2. 可以将begin递增来使其到达end。即end无法到达begin的前端
    3. 如果一个顺序容器的begin和end相同,则该容器为空
      常常这样使用:
    while(begin!=end)
    {
    *begin=val;
    ++bagin;
    }

    目前看到了第315页,下周见。。。。

  • 相关阅读:
    jquery 代码搜集
    Windows Server 2008中安装IIS7.0
    javascript 判断两个日期之间的天数 兼容ie,firefox
    jquery选择器大全
    原始ajax方式调用asp.net后台方法
    JavaScript及C# URI编码详解
    利用JQuery直接调用asp.net后台方法
    C#操作XML小结_转载
    从bnbt tracker源码分析bt客户端与traker的通信
    传说中的神器: shared_ptr/weak_ptr/scoped_ptr
  • 原文地址:https://www.cnblogs.com/liangzid/p/10910136.html
Copyright © 2020-2023  润新知