1.首先看一下原c++栈的方法的基本用法:
- push(): 向栈内压入一个成员;
- pop(): 从栈顶弹出一个成员;
- empty(): 如果栈为空返回true,否则返回false;
- top(): 返回栈顶,但不删除成员;
- size(): 返回栈内元素的大小;
1 #include<iostream>
2 #include<stack>
3 using namespace std;
4
5 int main()
6 {
7 stack <int>stk;
8 //入栈
9 for(int i=0;i<50;i++){
10 stk.push(i);
11 }
12 cout<<"栈的大小:"<<stk.size()<<endl;
13 while(!stk.empty())
14 {
15 cout<<stk.top()<<endl;
16 stk.pop();
17 }
18 cout<<"栈的大小:"<<stk.size()<<endl;
19 return 0;
20 }
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
1 #include<iostream>
2 #include<stack>
3 #include<queue>
4 using namespace std;
5
6 void main()
7 {
8 queue<int> q;
9 int num;
10
11 cout<<"------Test for Queue-------"<<endl;
12 cout<<"Input number:"<<endl;
13 while(cin>>num)
14 {
15 q.push(num); //入队
16 }
17 cout<<"Now the Queue has "<<q.size()<<" numbers."<<endl; //返回队列的大小
18 cout<<"The first is "<<q.front()<<endl; //返回队列的最前面的元素
19 cout<<"The last is "<<q.back()<<endl; //返回队列最后面的元素
20 cout<<"All numbers:"<<endl;
21 while(!q.empty()) //判断队列是否为空
22 {
23 cout<<q.front()<<" ";
24 q.pop();
25 }
26 cout<<"Now the Queue has "<<q.size()<<" numbers."<<endl;
27 system("Pause");
28
29
30 }