当前位置: 移动技术网 > IT编程>开发语言>C/C++ > STL之list

STL之list

2020年04月30日  | 移动技术网IT编程  | 我要评论

银河系81亿像素全景图,橡胶抛光轮,严少辰

list即双向链表。

#include<iostream>
#include<list>
using namespace std;

int main()
{
    //构造
    list<int> li;

    //插入元素
    //头插
    li.emplace_front(2);
    //尾插
    li.emplace_back(8);
    //指定位置插入
    li.insert(++li.begin(), 6);

    //遍历
    for (list<int>::iterator it = li.begin(); it != li.end(); it++)
        cout << *it;
    cout << endl;
    //输出:268

    //排序,不能使用头文件algorithm中的sort算法,使用list模板自定义的sort方法
    li.sort(greater<int>()); //从大到小排序
    for (list<int>::iterator it = li.begin(); it != li.end(); it++)
        cout << *it;
    cout << endl;
    //输出:862

    li.emplace_back(2);
    li.emplace_back(6);
    li.emplace_back(8);

    //删除元素
    //删除指定位置元素
    li.erase(++li.begin()); //删除第二个元素'6'
    for (list<int>::iterator it = li.begin(); it != li.end(); it++)
        cout << *it;
    cout << endl;
    //输出:82268

    //删除指定元素
    li.remove(8); //删除元素'8'
    for (list<int>::iterator it = li.begin(); it != li.end(); it++)
        cout << *it;
    cout << endl;
    //输出:226

    //删除连续的重复元素,只保留其中一个
    li.unique(); //删除连续的重复元素'2',只保留其中一个
    for (list<int>::iterator it = li.begin(); it != li.end(); it++)
        cout << *it;
    cout << endl;
    //输出:26

    return 0;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网