zoukankan      html  css  js  c++  java
  • 数据结构之循环队列

    #include<bits/stdc++.h>
    #define maxsize 1024
    typedef struct
    {
        int data[maxsize];
        int front,rear;
        int num;//队列中间元素的个数
    }csequeue;//循环队列的定义
    csequeue *q;
    void init_sequeue()
    {
        q=(csequeue*)malloc(sizeof(csequeue));//为q队列申请存储空间
        q->rear=q->front=maxsize-1;
        q->num=0;
    }//构建空的循环队列
    
    int in_sequeue(csequeue *q,int x)
    {
        if(q->num==maxsize-1)
        {
            printf("队满
    ");
            return -1;
        }
        else
        {
            q->rear=(q->rear+1)%maxsize;
            q->data[q->rear]=x;
            q->num++;
            return 1;
        }
    }//入循环队列
    
    int out_sequeue(csequeue *q)
    {
        if(q->num==0)
        {
            printf("队空
    ");
            return -1;
        }
        else
        {
            q->front=(q->front+1)%maxsize;
            int x=q->data[q->front];
            q->num--;
            return x;
        }
    }//出循环队列
    
    int empty_sequeue(csequeue *q)
    {
        if(q->num==0)
            return 1;
        else
            return 0;
    }//判断循环队列是不是空
    
    int main()
    {
        init_sequeue();
        printf("请输入要进入循环队列的数据个数:
    ");
        int n;
        scanf("%d",&n);
        int i;
        for(i=0;i<n;i++)
        {
            int x;
            scanf("%d",&x);
            in_sequeue(q,x);
        }
        while(empty_sequeue(q)==0)
        {
            int x=out_sequeue(q);
            printf("%d
    ",x);
        }
        return 0;
    }

    不正确的地方麻烦指正哦!!!

  • 相关阅读:
    添加搜索引擎
    理解隐马尔可夫模型(转载)
    全排列合集
    COM使用简介
    KMP算法
    遗传算法(转载)
    退火算法(转载)
    非电信手机获取闪讯密码的一种实现方法
    几个时间控制函数(转载)
    图像处理的Alpha通道
  • 原文地址:https://www.cnblogs.com/yinbiao/p/8708635.html
Copyright © 2011-2022 走看看