zoukankan      html  css  js  c++  java
  • C循环队列

    先放代码

    点击查看代码
    
    #include <stdio.h>
    
    #define Maxsize 50
    #define true 1
    #define false 0
    typedef int Elemtype;
    
    typedef struct{
       Elemtype data[Maxsize];
       int front,rear;           //front指向第一个元素(队头),rear指向队尾的后面
    }SqQueue;
    //初始化
    void InitQueue(SqQueue *Q){
       Q->rear = Q->front = 0;   //可以拿来判空
    }
    //判队空
    int isEmpty(SqQueue Q){
       if(Q.rear == Q.front)
          return true;
       else
          return false;
    }
    //入队
    //队不满时,先将值送到队尾元素,再将队尾指针+1
    int EnQueue(SqQueue *Q,Elemtype x){
       if((Q->rear + 1) % Maxsize == Q->front)     //队满
          return false;
       Q->data[Q->rear]=x;
       Q->rear=(Q->rear+1)%Maxsize;
       return true;
    }
    //出队
    //队不空时,先取队头元素,再将队头指针+1
    int DeQueue(SqQueue *Q){
       int x;
       if(Q->rear == Q->front)
          return false;
       x = Q->data[Q->front];
       Q->front = (Q->front+1) % Maxsize;
       return x;
    }
    void Q_p(SqQueue Q){
       int q = Q.front;
       while(Q.front!=Q.rear)
          printf("%d ",Q.data[Q.front++]);
       printf("\n");
       Q.front = q;
    }
    
    int main() {
       SqQueue Q;
       InitQueue(&Q);
       EnQueue(&Q,0);EnQueue(&Q,1);EnQueue(&Q,2);Q_p(Q);
       DeQueue(&Q);Q_p(Q);
       return 0;
    }
    
    
  • 相关阅读:
    Django xadmin
    Linux 目录
    服务器的组件
    C# 判断数字的小方法
    Eclipse快捷键
    安卓资源与ID不对应的问题
    Java中Runnable和Thread的区别
    View的setOnClickListener的添加方法
    如何实现消息框风格的Activity
    安卓开发的在线调试
  • 原文地址:https://www.cnblogs.com/tqdlb/p/15676084.html
Copyright © 2011-2022 走看看