3 栈和队列

  1. 栈的特点:先进后出

  2. 队列特点:先进先出

  3. stl

    1. stack:

      #include 
      
      stack p;//建栈
      p.push(x);//入栈
      p.top();//栈顶元素
      p.pop();//删除栈顶
      p.size();//栈的大小
      p.empty();//是否栈空
      
    2. queue:

      #include 
      
      queue q;
      q.push(x);//入队列
      q.front();//队列头元素
      q.back();//队尾元素
      q.pop();//删除队头
      q.size();//队列大小
      q.empty();//是否队列空
      
  4. 手写

    int a[N];
    
    int tt = 0;
    a[++tt] = x;//入栈
    tt--;//出栈
    
    if(tt == 0) //空栈
    else //栈不空
        
    a[tt];//栈顶元素
    
    1. 队列
    int q[N];
    int tt = -1;//队列尾
    int hh = 0;//队列头
    
    q[++tt] = x;//入队列
    hh++;//出队列
    
    if(hh<=tt) //队列不空
    else //队列空
    
    q[hh];//队头元素
    

你可能感兴趣的:(数据结构与算法,算法,数据结构)