stl-stack/queue/list
来源:互联网 发布:tensorflow 英文教程 编辑:程序博客网 时间:2024/05/18 09:24
stack
适配器,它可以将任意类型的序列容器转换为一个堆栈,一般使用deque作为支持的序列容器。
元素只能后进先出(LIFO)。
不能遍历整个stack。
1.声明一个stack
stack<int> s1;
stack<string> s2;
2.stack中的操作
stack<int> s;
s.push(x) 无返回值,将元素x压栈
s.pop(); 退栈,无返回值
s.top(); 取栈顶元素,返回栈顶元素
s.empty(); 判断栈是否为空,如果是空,返回1,否则返回0
s.size(); 返回栈中元素的个数
在栈中没有提供清空操作的函数,但是可以间接地实现清空栈,
while(!s.empty())
{
s.pop();
}
deque
deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是,deque还支持从开始端插入数据:push_front()。其余类似vector操作方法的使用。
list
List是stl实现的双向链表,与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。需要添加头文件list
//1.定义和初始化 list<int> lst1; //创建空list list<int> lst2(3); //创建含有三个元素的list list<int> lst3(3,2); //创建含有三个元素的list list<int> lst4(lst2); //使用lst2初始化lst4 list<int> lst5(lst2.begin(),lst2.end()); //同lst4 //2.常用操作方法 lst1.assign(lst2.begin(),lst2.end()); //分配值 lst1.push_back(10); //添加值 lst1.pop_back(); //删除末尾值 lst1.begin(); //返回首值的迭代器 lst1.end(); //返回尾值的迭代器 lst1.clear(); //清空值 bool isEmpty1 = lst1.empty(); //判断为空 lst1.erase(lst1.begin(),lst1.end()); //删除元素 lst1.front(); //返回第一个元素的引用 lst1.back(); //返回最后一个元素的引用 lst1.insert(lst1.begin(),3,2); //从指定位置插入个 lst1.rbegin(); //返回第一个元素的前向指针 lst1.remove(2); //相同的元素全部删除 lst1.reverse(); //反转 lst1.size(); //含有元素个数 lst1.sort(); //排序 lst1.unique(); //删除相邻重复元素 //3.遍历 //迭代器法 for(list<int>::const_iterator iter = lst1.begin();iter != lst1.end();iter++) { cout<<*iter; } cout<<endl;
阅读全文
0 0
- stl-stack/queue/list
- STL<list stack queue 模板类>
- STL——list、stack、queue
- STL简易list, queue和stack
- stl 常用函数(包括vector list stack queue)
- STL 整理map、set、vector、list、stack、queue、deque、priority_queue
- STL中deque,queue,stack,list的学习
- STL详解(vector,list,deque,stack,queue,priority_queue;map,set)
- STL笔记(3)-deque,queue,stack,list容器
- STL----stack与queue
- STL 之 stack - queue
- STL之stack、queue
- STL--stack、queue、priority_queue
- C++ STL stack/queue
- STL之Stack,Queue
- c++ STL--stack/queue
- STL - stack&queue&priority_queue
- KNOW: List, Stack, Queue
- 如何利用示波器测量电源纹波
- liunx 关闭开启防火墙
- 命令行操作jar,文件写入中文乱码处理
- Robot Race UVALive
- SDK及API介绍
- stl-stack/queue/list
- SRM帮你轻松询报价,全面降低采购成本!
- c++回调机制全解:定义原型,注册,回调,封装.
- [linux]ubuntu下进行texlive+texstudio+xeCJK中文环境安装
- mysql 日期时间有关的函数
- Spring AOP和事务处理的自我总结
- 浅谈分布式消息技术 Kafka
- RobotFramework环境搭建
- Linux grep 文本搜索工具