zoukankan      html  css  js  c++  java
  • c语言实现基本的数据结构(四) 循环队列

    #include <stdio.h>
    #include <tchar.h>
    #include <stdlib.h>
    
    #define MaxQueueSize 100
    // TODO:  在此处引用程序需要的其他头文件
    
    struct Queue
    {
        int* base;
        int front;//队头指针
        int rear;//队尾指针
    };
    //初始化队列
    bool Init_Queue(Queue* q){
        q->base = (int*)malloc(MaxQueueSize*sizeof(int));
        if (!q->base) return false;
        q->front = q->rear = 0;
        return true;
    }
    //销毁队列
    bool Destroy_Queue(Queue* q){
        free(q);
        return true;
    }
    //清空队列
    bool Clear_Queue(Queue* q){
        q->front = q->rear = 0;
        return true;
    }
    //入队
    bool EnQueue(Queue* q, int value){
        if ((q->rear + 1) % MaxQueueSize == q->front) return false;
        q->base[q->rear] = value;
        q->rear++;
        return true;
    }
    //出队
    int DeQueue(Queue* q){
        if (q->rear == q->front) exit(EXIT_FAILURE);
        q->front++;
        return q->base[q->front - 1];
    }
    //打印队列
    void Print_Queue(Queue q){
        if (q.rear == q.front) printf("空队列
    ");
        while (q.rear != q.front){
            printf("%d->", q.base[q.front]);
            q.front++;
        }
        printf("
    ");
    }
  • 相关阅读:
    multi-task learning
    代码杂谈-python函数
    代码杂谈-or符号
    安装maven
    zsh
    mint linux的几个问题
    [软件] Omnigraffle
    无梯度优化算法
    根据pdf文件获取标题等信息
    计算广告-GD广告
  • 原文地址:https://www.cnblogs.com/xin1998/p/7745291.html
Copyright © 2011-2022 走看看