在C++标准库(STL)中,实现了栈和队列,方便使用,并提供了若干方法。以下作简要介绍。
1、栈(stack)说明及举例:
使用栈,要先包含头文件 : #include<stack>
定义栈,以如下形式实现: stack<Type> s; 其中Type为数据类型(如 int,float,char等)。
栈的主要操作:
- s.push(item);
- s.pop();
- s.top();
- s.size();
- s.empty();
栈操作举例:
- #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)
- q.pop()
- q.front()
- q.back()
- q.size()
- q.empty()
队列操作举例
- #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");
-
-
- }
结果截图: