STL学习记录:链表

Posted salty-fish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL学习记录:链表相关的知识,希望对你有一定的参考价值。

直接百度链表的话,其实和真正用起来的STL链表差的挺远的(毕竟有些情况能用就行~),还是自己写一下记录一下STL里链表具体用法吧

#include <bits/stdc++.h>
using namespace std;
int main ()
{
    //1. 定义
    //list<数据类型> 链表名称
    list<int> test;
    list<int>::iterator iter=test.begin();
    //2. 增删改查
    //增加
    test.push_front(1);        //向头部增加元素
    test.push_back(10);        //向尾部增加元素
    test.insert(iter,2,3);    //向指定位置(迭代器位置)增加几个元素
    //删除
    test.pop_back();    //删除尾部元素
    test.pop_front();    //删除头部元素
    test.remove(1);        //删除特定元素
    test.unique();        //删除相邻重复元素
    test.clear();
    //
    test.sort();        //排序
    test.reverse();        //反转
    //
    test.empty();    //如果空链表,返回值为真
    int howmany2=count(test.begin(),test.end(),2);    //查有多少个2
    iter=find(test.begin(),test.end(),2);            //如果没找到的话返回test.end()
    test.size();    //返回元素个数


    for (iter=test.begin();iter!=test.end();iter++)
        cout<<*iter<<endl;
    return 0;
}

 

以上是关于STL学习记录:链表的主要内容,如果未能解决你的问题,请参考以下文章

STL源码剖析——空间配置器Allocator#3 自由链表与内存池

C++ stl 集合或链表

数据结构前导课 | 7 更进一步——STL库之List链表

Uva 11988 Broken Keyboard STL+链表

5.STL简单链表(_cghList)的实现

STL源码剖析