C++ STL之list详解

来源:互联网 发布:学电脑软件开发 编辑:程序博客网 时间:2024/06/08 13:09

list容器是一个双向链表,可以高效地进行插入删除元素。

构造函数

list<Elem> c;//空listlist<int> c(3);//创建一个含有三个默认值是0的元素的链表list<int> c(5,2);//创建一个含有五个元素的链表,值都是2

成员函数

c.begin();//返回指向链表第一个元素的迭代器c.end();//返回指向链表最后一个元素之后的迭代器c.rbegin();c.rend();//反向迭代器c.front();//返回链表c的第一个元素c.back();//返回链表c的最后一个元素c.empty();//判断链表是否为空c.size();//返回链表c中实际元素的个数c.clear();//清空链表

插入和删除

c.insert(pos,num);//在pos位置插入元素numc.insert(pos,n,num);//在pos位置插入n个元素numc.erase(pow);//删除pos位置的元素c.push_back(num);//在末尾增加一个元素c.pop_back();//删除末尾的元素c.push_front(num);//在开始位置增加一个元素c.pop_front();//删除第一个元素

其他

c.reverse();//翻转链表c.sort();//将链表排序,默认升序c.sort(cmp);//自定义小于函数

Demo

#include <iostream>#include <list>using namespace std;list<int> l;void printl(){    list<int>::iterator it;    for(it = l.begin() ; it != l.end() ; it ++) {        cout << *it << endl;    }    cout << "" << endl;}int main(){    l.push_front(1);//1    l.push_back(2);//1->2    printl();//1->2    list<int>::iterator it = l.begin();    it ++;    l.insert(it,4);    printl();//1->4->2    l.reverse();    printl();//2->4->1    return 0;}
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绿地球叶子变干怎么办 有异物掉入眼中怎么办 有异物掉入眼中应怎么办 有异物掉入眼睛怎么办 空调出风口掉入异物怎么办? 超星尔雅挂科了怎么办 泰拉瑞亚神庙祭坛挖掉了怎么办 泰拉瑞亚不小心把数据删除了怎么办 足球守门员遇到单刀球怎么办 猫见到主人就跑怎么办 手机玩游戏闪屏怎么办 满身起小疙瘩很痒怎么办 出门在外忘记带备用胸罩怎么办 去泰国浮潜近视怎么办 gta5线上马丁任务卡了怎么办 双肩背包黑色的皮子褪色怎么办 lspdfr在游戏里崩溃怎么办 gta5钱超过21亿怎么办 假警察要带走我怎么办 遇到假警察拦车怎么办 大连船员体检眼力不合格怎么办 禁行如果通过了怎么办 钻戒的戒圈磨损怎么办 多肉的肉掉了怎么办 电脑自带鼠标动不了怎么办 笔记本电脑自带鼠标动不了怎么办 包包弹簧扣松了怎么办 耳钉氧化成黑色怎么办 想买点小股票玩玩要怎么办 玩具子弹打到眼睛怎么办 玩具汽车遥控器码乱了怎么办 索尼A7屏幕花了怎么办? 汽车冷冻器坏了怎么办 sim卡损坏怎么办 补卡 异或门一个输入怎么办 迷你世界加不了好友怎么办 电脑软件显示无效应用程序怎么办 美的滚筒洗衣机打不开门怎么办 手机存储卡坏了怎么办 回南天地板潮湿怎么办 lg滚筒洗衣机门打不开怎么办