STL容器 之 list

来源:互联网 发布:json数组按key拆分 编辑:程序博客网 时间:2024/05/30 23:41

list 特殊函数 : swap, sort, unique(去重), merge, splice ,reverse, remove

#include<iostream>#include<list> // 双链表using namespace std;bool Compare(int a,int b){    return a>b;    /*    if(a>b)        return true;    else    {return false;}    */}int main(){    list<int> list1; // 只能定义空链表    // push_back() , push_front() 输入元素    for(int i=4;i<=5;i++)    {        list1.push_back(i);    }    for(int i=3;i>=1;i--)    {        list1.push_front(i);    }    cout<<list1.size()<<endl;    // 迭代器 输出元素    cout<<list1.front()<<endl;    cout<<list1.back()<<endl;    list<int>::iterator it;    for(it = list1.begin(); it!=list1.end();it++) // 顺序    {        cout<<*it<<endl;    }    /*    list<int>::reverse_iterator it1;    for(it1 = list1.rbegin();it1 != list1.rend();it1++)     //逆序输出    {        cout<<*it1<<endl;    }*/    // 逆序     list1.reverse();     for(it = list1.begin(); it!=list1.end();it++)     {        cout<<*it<<endl;    }    // 排序     list2.sort();     list2.sort(Compare);     // 删除    list1.pop_back();  // 删除尾元 1 2 3 4    list1.pop_front(); //删除首元  2 3 4    it = list1.begin();    it++;    list1.erase(it); // 2 4     // 注意 在list中,只能it++,不能 如 随机访问不行;     list1.remove(2); // 删除所有值为2的元素   4    list1.unique(); // 去重     // 插入    list1.insert(list1.begin(),3); //将3插到begin()前   3 4    list1.insert(list1.begin()++,2,5); // 插2个5插到 4 的前面     // 链表copy    list<int> list2(list1);    /*    list<int> list2;    list2.insert(list2.begin(),list1.begin(),list1.end());    */    // 合并  merge(),splice()     list1.merge(list2);  // 将list2合并到list1后面     return 0; }

vector 与 list 的不同之处:
http://www.cnblogs.com/bewolf/p/4419208.html

0 0
原创粉丝点击