美文网首页
STL学习笔记(二)

STL学习笔记(二)

作者: 风之旅人c | 来源:发表于2018-07-23 10:10 被阅读0次

双向链表:List

定义

List是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素连接起来。

List的声明

头文件
#include <list>
using namespace std;
声明
list<int>lst1;             //创建空list
list<int> lst2(5);        //创建含有5个元素的list
list<int>lst3(3,2);      //创建含有3个元素的list
list<int>lst4(lst2);     //使用lst2初始化lst4
list<int>lst5(lst2.begin(),lst2.end());  //同lst4

List的操作

输入输出操作

利用迭代器

#include <list>
#include <iostream>
using namespace std;
int main()
{
    list<int> lst1;
    lst1.push_back(1);
    lst1.push_back(2);
    lst1.push_back(3);
    lst1.push_back(1);


    for(list<int>::const_iterator iter = lst1.begin(); iter != lst1.end(); iter++)
    {
        cout<<*iter;
    }
    cout<<endl;
    return 0;
}
其他操作
Lst1.assign() 给list赋值 
Lst1.back() 返回最后一个元素 
Lst1.begin() 返回指向第一个元素的迭代器 
Lst1.clear() 删除所有元素 
Lst1.empty() 如果list是空的则返回true 
Lst1.end() 返回末尾的迭代器 
Lst1.erase() 删除一个元素 
Lst1.front() 返回第一个元素 
Lst1.get_allocator() 返回list的配置器 
Lst1.insert() 插入一个元素到list中 
Lst1.max_size() 返回list能容纳的最大元素数量 
Lst1.merge() 合并两个list 
Lst1.pop_back() 删除最后一个元素 
Lst1.pop_front() 删除第一个元素 
Lst1.push_back() 在list的末尾添加一个元素 
Lst1.push_front() 在list的头部添加一个元素 
Lst1.rbegin() 返回指向第一个元素的逆向迭代器 
Lst1.remove() 从list删除元素 
Lst1.remove_if() 按指定条件删除元素 
Lst1.rend() 指向list末尾的逆向迭代器 
Lst1.resize() 改变list的大小 
Lst1.reverse() 把list的元素倒转 
Lst1.size() 返回list中的元素个数 
Lst1.sort() 给list排序 
Lst1.splice() 合并两个list 
Lst1.swap() 交换两个list 
Lst1.unique() 删除list中重复的元素

相关文章

  • C++ STL 学习笔记

    C++ STL 学习笔记

  • STL学习笔记(二)

    双向链表:List 定义 List是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际...

  • c++11 STL和simulink自动生成代码--Apple的

    c++11 STL和simulink自动生成代码--Apple的学习笔记 目的: 为了学习c++11 STL和si...

  • STL学习笔记

    STL(Standard Template Library)里有很多组成部分,但是主要有三个,容器、迭代器和算法 ...

  • STL学习笔记之容器(二)

    vector和string 所有的STL容器都很有用,但是相比于其他容器,vector和string更常用。本章从...

  • STL学习笔记之算法(二)

    仿函数、仿函数类、函数等 条款38:把仿函数类设计为用于值传递 STL中的习惯是当传给函数和从函数返回时函数对象也...

  • c++实现STL标准库和算法

    【实验楼学习笔记】 STL的原名是“Standard Template Library”,翻译过来就是标准模板库。...

  • 1. 入门并实践STL——vector篇

    此笔记整理自《算法笔记》电子版下载 密码:yhpimb其他资料:STL教程:C++ STL快速入门(非常详细) 1...

  • STL学习笔记(一)

    不定长数组:vector 定义 vector是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。...

  • 浅析STL allocator

    STL allocator是做什么用? 在学习STL中containers会发现C++ STL里定义了很多的容器(...

网友评论

      本文标题:STL学习笔记(二)

      本文链接:https://www.haomeiwen.com/subject/kerdmftx.html