zoukankan      html  css  js  c++  java
  • 数据结构循环队列——数组模拟实现

    数据结构模板——存档用

    #include<stdio.h>
    #include<stdlib.h>
    #define MAXSIZE 50///队列最大可容纳元素数量
    typedef struct
    {
        int data[MAXSIZE];///存储数组
        int front;///队首
        int rear;///队尾
    }SqQueue;
    int visit(int c)///输出元素
    {
        printf("%d ",c);
        return 1;
    }
    ///初始化一个空队列Q
    int InitQueue(SqQueue *Q)
    {
        Q->front=0;
        Q->rear=0;
        return  1;
    }
    ///将Q清为空队列
    int ClearQueue(SqQueue *Q)
    {
        Q->front=Q->rear=0;
        return 1;
    }
    ///若队列Q为空队列,则返回1,否则返回0
    int QueueEmpty(SqQueue Q)
    {
        if(Q.front==Q.rear) return 1;
        else return 0;
    }
    
    ///返回Q的元素个数,也就是队列的当前长度
    int QueueLength(SqQueue Q)
    {
        return  (Q.rear-Q.front+MAXSIZE)%MAXSIZE;
    }
    ///若队列不空,则用e返回Q的队头元素,并返回1,否则返回0
    int GetHead(SqQueue Q,int *e)
    {
        if(Q.front==Q.rear) return 0;
        *e=Q.data[Q.front];
        return 1;
    }
    ///若队列未满,则插入元素e为Q新的队尾元素
    int EnQueue(SqQueue *Q,int e)
    {
        if ((Q->rear+1)%MAXSIZE == Q->front) return 0;
        Q->data[Q->rear]=e;
        Q->rear=(Q->rear+1)%MAXSIZE;
        return 1;
    }
    ///若队列不空,则删除Q中队头元素,用e返回其值
    int DeQueue(SqQueue *Q,int *e)
    {
        if (Q->front == Q->rear) return 0;
        *e=Q->data[Q->front];
        Q->front=(Q->front+1)%MAXSIZE;
        return  1;
    }
    ///从队头到队尾依次对队列Q中每个元素输出
    int QueueTraverse(SqQueue Q)
    {
        int i;
        i=Q.front;
        while((i+Q.front)!=Q.rear)
        {
            visit(Q.data[i]);
            i=(i+1)%MAXSIZE;
        }
        printf("
    ");
        return 1;
    }
    int main()
    {
        int j,i=0,l;
        int d;
        SqQueue Q;///声明队列
        InitQueue(&Q);///初始化队列
        QueueEmpty(Q);///判空队列
        return 0;
    }
    
  • 相关阅读:
    [Linux] Ubuntu Server18 python3.7 虚拟环境
    [Linux] 树莓派编译python3.7.4
    [Linux] TMUX Python版本设置
    Linux 批量杀进程的命令
    arm树莓派Raspbian 下安装selenium+chrome
    树莓派Raspbian系统密码
    mac 终端查看端口命令
    selenium firefox 内存 速度优化
    [Linux] tmux 终端复用命令行工具
    通过 ssh 登录到手机 Termux
  • 原文地址:https://www.cnblogs.com/kuronekonano/p/11135826.html
Copyright © 2011-2022 走看看