• 顺序队列的C语言实现


    #include <stdio.h>
    
    #define MAXSIZE 101
    #define ELEMTYPE int
    #define QUEUE_EMPTY -10000
    
    typedef struct queue
    {
        ELEMTYPE data[MAXSIZE];
        int head;
        int tail;
    } Queue;
    
    void initQueue(Queue *Q);
    void enQueue(Queue *Q,ELEMTYPE e);
    ELEMTYPE deQueue(Queue *Q);
    int isQueueEmpty(Queue *Q);
    int isQueueFull(Queue *Q);
    void printQueue(Queue *Q);
    
    int main(void)
    {
        Queue SQ;
        initQueue(&SQ);
        int j;
        for(j=0;j<4;++j)
        {
            push(&SQ,j);
        }
        printQueue(&SQ);
        return 0;
    }
    
    
    void initQueue(Queue *Q)
    {
    
        Q->head = 1;
        Q->tail = 1;
    }
    
    void enQueue(Queue *Q,ELEMTYPE e)
    {
        if(isQueueFull(Q)) return;
    
        Q->data[Q->tail] = e;
        Q->tail ++;
    }
    
    ELEMTYPE deQueue(Queue *Q)
    {
            if(isQueueEmpty(Q)==1) return QUEUE_EMPTY;
    
            return Q->data[Q->head ++];
    
    }
    int isQueueEmpty(Queue *Q)
    {
        return Q->head == Q->tail;
    }
    
    int isQueueFull(Queue *Q)
    {
            return ( (Q->tail + 1)%MAXSIZE ) == Q->head ;
    }
    
    
    void printQueue(Queue *Q)
    {
    
        while(!isQueueEmpty(Q))
        {
            printf("%d	",pop(Q));
        }
    }
    
  • 相关阅读:
    gradient函数
    matlab函数
    二进制中1的个数
    豆瓣电影数据分析
    豆瓣电影Top250数据爬取学习
    numpy_将nan替换为均值
    多次条形图
    Gym
    Educational Codeforces Round 59 (Rated for Div. 2)
    Codeforces Round #535 (Div. 3)
  • 原文地址:https://www.cnblogs.com/yldf/p/6249906.html
Copyright © 2020-2023  润新知