• 栈和队列


    1.首先看一下原c++栈的方法的基本用法: 

      1. push(): 向栈内压入一个成员;
      2. pop(): 从栈顶弹出一个成员;
      3. empty(): 如果栈为空返回true,否则返回false;
      4. top(): 返回栈顶,但不删除成员;
      5. 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等)。

    队列的主要操作:

    1. q.push(item)           //将item压入队列尾部  
    2. q.pop()                //删除队首元素,但不返回  
    3. q.front()              //返回队首元素,但不删除  
    4. q.back()               //返回队尾元素,但不删除  
    5. q.size()               //返回队列中元素的个数  
    6. 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 }  

     

  • 相关阅读:
    OpenIOC
    网站舆情监测
    乌云的背后是阳光
    2014 十大工具
    NetFlow网络流量监测技术的应用和设计(转载)
    免费工具
    Oracle RAC环境下怎样更新patch(Rolling Patch)
    Answer&#39;s Question about pointer
    cocos2d-x 3.0 final 移植 android
    ReactNavtive框架教程(3)
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/8625234.html
Copyright © 2020-2023  润新知