zoukankan      html  css  js  c++  java
  • 栈和队列

    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 }  

     

  • 相关阅读:
    SGU 271 Book Pile (双端队列)
    POJ 3110 Jenny's First Exam (贪心)
    HDU 4310 Hero (贪心)
    ZOJ 2132 The Most Frequent Number (贪心)
    POJ 3388 Japanese Puzzle (二分)
    UVaLive 4628 Jack's socks (贪心)
    POJ 2433 Landscaping (贪心)
    CodeForces 946D Timetable (DP)
    Android Studio教程从入门到精通
    Android Tips – 填坑手册
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/8625234.html
Copyright © 2011-2022 走看看