• 数据结构队列(模拟生死者游戏)


    #include<stdio.h>
    typedef int ElemeType;
    typedef struct cod
    {
        ElemeType data[10];
        int rare,front;
        int MaxSize;
    } CirQueue;
    CirQueue *InitCQueue() //将队列置为空
    {
        CirQueue *q=(CirQueue *)malloc(sizeof(struct cod));
        q->rare=q->front=0;
        q->MaxSize=10;
        return q;
    }
    int EnCqueue(CirQueue *q,ElemeType x) //入队
    {
        if(((q->rare)+1)%(q->MaxSize)==q->front)//判断队列是否满了
        {
            printf("The Queue is flow!!!!\n");
            return 0;
        }
        q->data[q->rare]=x;
        q->rare=(q->rare+1)%(q->MaxSize);//将对应的下表向后移动
        return 1;
    }
    int DeCqueue(CirQueue *q,ElemeType *x) //出队
    {
        if(q->rare==q->front) //判断表是否为空
        {
            printf("\nGame over!!!!!!!!\n");
            return 0;
        }
        *x=q->data[q->front];
        q->front=(q->front+1)%(q->MaxSize);//将对应的下表向后移动
        return 1;
    }
    int CQueueLength(CirQueue *q) //计算出当前的元素的个数
    {
        return (q->rare-q->front+q->MaxSize)%q->MaxSize;
    }
    void test(CirQueue *q)
    {
        int key;
        while(q->rare!=q->front)
        {
            DeCqueue(q,&key);
            EnCqueue(q,key);


            if(q->rare!=q->front)
            {
                DeCqueue(q,&key);
                printf("%d\t",key);
            }
        }
    }
    int main()
    {
        CirQueue *q=InitCQueue();
        int count;
        int x;
        int value;
        scanf("%d",&count);//给定要输入的个数
        while(count--) //为每一个数进行赋值
        {
            scanf("%d",&x);
            if(EnCqueue(q,x)==0) break;
        }
        //下面是正常遍历的结果,因为会与后面的生死者游戏冲突所以这里我把它注释掉了
    //    while(DeCqueue(q,&value)){
    //        printf("%d\t",value);
    //    }
        //实现12的生死者游戏
        test(q);


        return 0;
    }
  • 相关阅读:
    linux下修改mysql密码
    会话跟踪技术之——cookie
    servlet之注册登录(简写)
    java服务端和用户端
    JavaBean和jsp的开发模型
    session的用法
    jsp元素
    servlet
    ServletContext对象统计在线人数
    图片站点服务
  • 原文地址:https://www.cnblogs.com/csnd/p/16675734.html
Copyright © 2020-2023  润新知