C++基础:C++标准库之栈(stack)和队列(queue)
2014-05-05 01:11
429 查看
在C++标准库(STL)中,实现了栈和队列,方便使用,并提供了若干方法。以下作简要介绍。
1、栈(stack)说明及举例:
使用栈,要先包含头文件 : #include<stack>
定义栈,以如下形式实现: stack<Type> s; 其中Type为数据类型(如 int,float,char等)。
栈的主要操作:
栈操作举例:
结果截图:
![](https://img-blog.csdn.net/20140505010734781)
2、队列(queue)说明及举例:
使用队列,要先包含头文件 : #include<queue>
定义队列,以如下形式实现: queue<Type> q; 其中Type为数据类型(如 int,float,char等)。
队列的主要操作:
队列操作举例
结果截图:
1、栈(stack)说明及举例:
使用栈,要先包含头文件 : #include<stack>
定义栈,以如下形式实现: stack<Type> s; 其中Type为数据类型(如 int,float,char等)。
栈的主要操作:
s.push(item); //将item压入栈顶 s.pop(); //删除栈顶的元素,但不会返回 s.top(); //返回栈顶的元素,但不会删除 s.size(); //返回栈中元素的个数 s.empty(); //检查栈是否为空,如果为空返回true,否则返回false
栈操作举例:
#include<iostream> #include<stack> #include<queue> using namespace std; void main() { stack<int> s; int num; cout<<"------Test for Stack-------"<<endl; cout<<"Input number:"<<endl; while(cin>>num) { s.push(num); } cout<<"The Stack has "<<s.size()<<" numbers.They are:"<<endl; while(!s.empty()) { cout<<s.top()<<" "; s.pop(); } cout<<"\nNow the size is "<<s.size()<<endl; system("Pause"); }
结果截图:
2、队列(queue)说明及举例:
使用队列,要先包含头文件 : #include<queue>
定义队列,以如下形式实现: queue<Type> q; 其中Type为数据类型(如 int,float,char等)。
队列的主要操作:
q.push(item) //将item压入队列尾部 q.pop() //删除队首元素,但不返回 q.front() //返回队首元素,但不删除 q.back() //返回队尾元素,但不删除 q.size() //返回队列中元素的个数 q.empty() //检查队列是否为空,如果为空返回true,否则返回false
队列操作举例
#include<iostream> #include<stack> #include<queue> using namespace std; void main() { queue<int> q; int num; cout<<"------Test for Queue-------"<<endl; cout<<"Input number:"<<endl; while(cin>>num) { q.push(num); } cout<<"Now the Queue has "<<q.size()<<" numbers."<<endl; cout<<"The first is "<<q.front()<<endl; cout<<"The last is "<<q.back()<<endl; cout<<"All numbers:"<<endl; while(!q.empty()) { cout<<q.front()<<" "; q.pop(); } cout<<"Now the Queue has "<<q.size()<<" numbers."<<endl; system("Pause"); }
结果截图:
相关文章推荐
- C++基础:C++标准库之栈(stack)和队列(queue)
- C++ 队列(queue)堆栈(stack)实现基础
- 数据结构与程序设计c++-----栈(stack)与队列(queue)
- [C++基础]队列queue中的常用函数
- C++语法基础--顺序容器(五)--容器适配器-- queue,priority_queue,stack
- C++语法基础--优先队列--priority_queue
- [C/C++标准库]_[0基础]_[优先队列priority_queue的使用]
- [C++基础]队列<queue>中的常用函数
- C++stl 向量,链表,栈,队列(vector, list, stack, queue)
- 2018_2_3A Stack or A Queue?_栈队列基础题
- C++基础练习题之队列(不是queue,只是一道题,千万别误会)
- c++ 队列(Queue)基础教程
- [C++基础]队列<queue>中的常用函数
- C++自带栈与队列_stack_queue_C++
- C++ STL入门教程(4)——stack(栈),queue(队列),priority_queue(优先队列)的使用(附完整程序代码)
- C++ STL容器部分 有关queue 队列模型的 一些基本API函数的使用
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- java collections 集合基础学习 ArrayList,LinkedList, HashSet, TreeSet, HashMap, Stack,Queue,PriorityQueue
- 用两个栈(Stack)实现一个队列(Queue)
- C++STL之priority_queue优先队列容器