C++基础:C++标准库之栈(stack)和队列(queue)
来源:互联网 发布:张敬轩的唱功 知乎 编辑:程序博客网 时间:2024/06/05 07:49
在C++标准库(STL)中,实现了栈和队列,方便使用,并提供了若干方法。以下作简要介绍。
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");}
结果截图:
0 0
- C++基础:C++标准库之栈(stack)和队列(queue)
- 栈(Stack)和队列(Queue)
- C++queue队列与stack栈
- 数据结构与程序设计c++-----栈(stack)与队列(queue)
- C++stl 向量,链表,栈,队列(vector, list, stack, queue)
- C++(24):STL初步之stack、queue
- 栈(stack)和队列(queue)的简单实例
- 栈Stack和队列Queue
- 栈Stack和队列Queue
- C++ 队列(queue)堆栈(stack)实现基础
- C++(标准库)栈和队列以及优先队列的使用
- 栈(stack)、队列(queue)和优先队列(priority_queue)用法
- C++栈和队列(stack,queue,priority_queue)
- Stack and Queue 栈和队列
- python实现stack(栈)和队列(queue)
- JS中的队列(queue)和栈(stack)
- Java实现栈Stack和队列Queue
- C# 队列(Queue)和 堆栈(Stack)
- 从n个数中找出每个数的重复数
- vim全选复制
- JavaSE06_常用类之Math
- Netty使用初步
- 红黑树详细介绍二
- C++基础:C++标准库之栈(stack)和队列(queue)
- JavaSE06_常用类之日期(Date Calendar)
- Netty实现原理浅析
- 规范
- 动态SQL番外篇
- 如何学photoshop
- JavaSE06_常用类之System
- JavaSE06_常用类之Runtime
- LeetCode–Evaluate Reverse Polish Notation