C++ STL典型容器queue,vector,stack的使用方法
2019-06-16 23:49
295 查看
知识点小结:
在使用c++已有的容器时,虽然queue,vector和stack一些基本操作都是类似的,但因为其函数名称不同,比如返回首元素有的是用front,有的是用top。没有整理经常混乱,下面对这几种典型类型的基本操作函数进行一下小结。
首先是stack的操作,基本操作有压入push(),弹出pop(),返回首元素top(),返回大小size(),判断是否为空empty()。
[code]#include <iostream> #include <stack> #include <queue> #include <vector> using namespace std; int main() { //当希望放入的元素是先进后出时,选用stack容器 stack<int> stack1; //向stack中压入元素用push() stack1.push(1); stack1.push(2); stack1.push(3); //访问stack中的首元素用top(),使用时注意top只返回首元素,不弹出 int firstNumber = stack1.top(); cout << firstNumber <<end; //弹出stack中的首元素用pop(),C++中弹出操作不返回值 stack1.pop(); //判断stack是否为空用empty(),空返回true,不空返回false //经常被用来判断是否继续循环 stack1.empty(); //返回stack的大小 stack1.size(); return 0; }
下面是queue,queue的大部分操作和stack类似,但访问首元素用front()不用top()。其实也可以理解,stack是先进后出,首元素在顶层,用top比较直观,queue是先进先出,首元素一直在最前面,用front比较直观。
[code] //当希望放入的元素是先进先出时,选用队列queue容器 queue<int> queue1; //向queue中压入元素用push() queue1.push(4); queue1.push(5); queue1.push(6); //访问queue中的首元素用front(),这里和stack是不同的 cout << "The first element of queue is: " << queue1.front() << endl; //还可以访问queue的尾元素用back() cout << "The last element of queue is: " << queue1.back() << endl; //其他的操作和stack类似 //弹出queue中的首元素 queue1.pop(); //返回queue的大小 queue1.size(); //判断queue是否为空 queue1.empty();
最后是vector容器,vector容器相比于前两种容器要特殊一些。可以说它是一种顺序结构的动态数组,也就是说vector容器本质上来说是可以索引的。vector容器的操作也比前两种容器的操作要多一些。
[code]//当希望可以顺序遍历或者索引的时候,选用vector容器 vector<int> vector1; //向vector的尾部加入元素用push_back(),容器大小+1 vector1.push_back(7); vector1.push_back(8); vector1.push_back(9); //向vector的尾部弹出元素用pop_back(),容器大小-1 vector1.pop_back(); //返回vector的大小 vector1.size(); //判断vector是否为空 vector1.empty(); //返回容器第一个元素,容器大小不变 vector1.front(); //返回容器最后一个元素,容器大小不变 vector1.back(); //vector可以选择位置进行插入,用insert() vector1.insert(vector1.begin()+1, 15); //vector也可以选择位置进行删除,用erase() vector1.erase(vector1.begin()+2); //容器还有一个操作就是用迭代器进行遍历 vector<int>:: iterator it; for(it = vector1.begin(); it!= vector1.end(); it++) cout << *it << " "<< endl;
相关文章推荐
- C++ STL容器的使用方法(vector、queue、list、set、map)
- C++ STL基本容器的使用(vector、list、deque、map、stack、queue)
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL Adaptor stack、queue和vector的使用
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- c++STL容器(map,set,vector,stack,queue)
- C++ STL--stack/queue 的使用方法
- C++ STL 容器(vector,list,deque,stack,queue,priority_queue,set,map)
- C++ STL stack/queue的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法