zoukankan      html  css  js  c++  java
  • 用两个栈模拟一个队列

    栈是先进后出的原理,即FILO,队列是先进先出的原理,即FIFO

    #include <iostream>
    using namespace std;
    #define MAXSIZE 256
    typedef struct stack
    {
          int top;
          int stack[MAXSIZE];
    }Stack;
    
    void initQueue(Stack *s)             //初始化队列
    {
          s->top=0;
    }
    
    void enQueue(Stack *s,int elem)     //入队
    {
           if(s->top<MAXSIZE)
           {
           s->top++;                   //队首元素从以1开始
           s->stack[s->top]=elem;
           }
           
    }
    void deQueue(Stack *s1,Stack *s2)    //模拟出队
    {
            
        if(s1->top>0)
        {
           while(s1->top>0)
            {
                s2->stack[++s2->top]=s1->stack[s1->top--];
            } 
           cout<<"deQueue:"<<s2->stack[s2->top]<<endl;
           s2->top--;
           if(s2->top>0)
             {
                while(s2->top>0)
                  {
                     s1->stack[++s1->top]=s2->stack[s2->top--];
                  }
             }
         }
         else
          {
             cout<<"queue is empty!";
          }
    }
    int main()
    {
          Stack s1,s2;
          int array[]={1,2,3,4,5,6,7,8,9};
          int i;
          cout<<"init the queue:"<<endl;
          //初始化队列
           initQueue(&s1);
           initQueue(&s2);
          cout<<"enQueue:"<<endl;
          //入队操作
          for(i=0;i<9;i++)
            {
                 enQueue(&s1,array[i]);
            }
          cout<<"deQueue:"<<endl;
          //出队
           deQueue(&s1,&s2);
          cout<<"deQueue:"<<endl;
           deQueue(&s1,&s2);
          cout<<"deQueue:"<<endl;
           deQueue(&s1,&s2);
           return 0;
    }
    

    运行截图:

  • 相关阅读:
    0.1+0.2!==0.3
    标准盒模型IE盒模型
    Vue自定义组件通过v-model通信
    vue-cli3.0 使用 postcss-pxtorem px转rem
    render函数、createElement函数
    mixins(混入)
    vue.extend与vue.component
    js事件系列
    vue脚手架项目结构
    python模块和包
  • 原文地址:https://www.cnblogs.com/xshang/p/3361256.html
Copyright © 2011-2022 走看看