c++ -- 栈和队列的基本操作

在C++标准库(STL)中,实现了栈和队列,方便使用,并提供了若干方法。以下作简要介绍。

1、栈(stack)说明及举例:

使用栈,要先包含头文件 : #include

定义栈,以如下形式实现: stack s; 其中Type为数据类型(如 int,float,char等)。

栈的主要操作:

[cpp]  view plain  copy
 
  1. s.push(item);       //将item压入栈顶  
  2. s.pop();            //删除栈顶的元素,但不会返回  
  3. s.top();            //返回栈顶的元素,但不会删除  
  4. s.size();           //返回栈中元素的个数  
  5. s.empty();          //检查栈是否为空,如果为空返回true,否则返回false   

栈操作举例:

[cpp]  view plain  copy
 
  1. #include  
  2. #include  
  3. #include  
  4. using namespace std;  
  5.   
  6. void main()  
  7. {  
  8.     stack<int> s;  
  9.     int num;  
  10.   
  11.     cout<<"------Test for Stack-------"<
  12.     cout<<"Input number:"<
  13.       
  14.     while(cin>>num)  
  15.     {  
  16.         s.push(num);  
  17.     }  
  18.   
  19.     cout<<"The Stack has "<" numbers.They are:"<
  20.     while(!s.empty())  
  21.     {  
  22.         cout<" ";  
  23.         s.pop();  
  24.     }  
  25.     cout<<"\nNow the size is "<
  26.     system("Pause");  
  27. }  

结果截图:


2、队列(queue)说明及举例:

使用队列,要先包含头文件 : #include

定义队列,以如下形式实现: queue q; 其中Type为数据类型(如 int,float,char等)。

队列的主要操作:


[cpp]  view plain  copy
 
  1. q.push(item)           //将item压入队列尾部  
  2. q.pop()                //删除队首元素,但不返回  
  3. q.front()              //返回队首元素,但不删除  
  4. q.back()               //返回队尾元素,但不删除  
  5. q.size()               //返回队列中元素的个数  
  6. q.empty()              //检查队列是否为空,如果为空返回true,否则返回false  

队列操作举例


[cpp]  view plain  copy
 
  1. #include  
  2. #include  
  3. #include  
  4. using namespace std;  
  5.   
  6. void main()  
  7. {  
  8.     queue<int> q;  
  9.     int num;  
  10.   
  11.     cout<<"------Test for Queue-------"<
  12.     cout<<"Input number:"<
  13.     while(cin>>num)  
  14.     {  
  15.         q.push(num);  
  16.     }  
  17.     cout<<"Now the Queue has "<" numbers."<
  18.     cout<<"The first is "<
  19.     cout<<"The last is "<
  20.     cout<<"All numbers:"<
  21.     while(!q.empty())  
  22.     {  
  23.         cout<" ";  
  24.         q.pop();  
  25.     }  
  26.     cout<<"Now the Queue has "<" numbers."<
  27.     system("Pause");  
  28.   
  29.   
  30. }  

结果截图:

你可能感兴趣的:(数据结构)