数据结构队列(模拟生死者游戏)
来源:互联网 发布:论坛群发软件哪个好 编辑:程序博客网 时间:2024/05/22 04:28
#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;
}
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;
}
0 0
- 数据结构队列(模拟生死者游戏)
- 生死游戏(未完待续)
- 数据结构程序设计——约瑟夫双向生死杀人游戏
- 数据结构03.1 队列模拟(数组)
- 简单数据结构之队列模拟
- 模拟队列 数据结构 SzNOI c004
- 约瑟夫生死游戏
- 数据结构:用队列模拟理发店的排队情况(C#)
- 队列模拟(简单链表数据结构的处理)
- 2015年大二上-数据结构-队列(6)- 停车场模拟
- 数据结构——环形队列的原理(模拟环形队列)
- 数据结构示例之圆形队列模拟舞会
- LinkedList集合模拟堆栈,队列数据结构
- LinkedList模拟堆栈和队列数据结构
- 数据结构之用栈模拟队列
- 项目-约瑟夫双向生死游戏
- 数据结构_队列-循环队列实现模拟舞伴配对问题
- 数据结构_队列-循环队列实现模拟舞伴配对问题
- Eclipse安装SVN插件及使用说明
- testng对失败时截图处理
- 前端性能之-为何要将多个图标放在一张背景图里?
- Jmeter常用函数之__CSVRead使用
- Jmeter接口测试
- 数据结构队列(模拟生死者游戏)
- 在selenium2.0中使用selenium1.0的API
- linux 下运行多个tomcat
- 关于linux下DB2创建数据库报错问题
- $.ajax与$.getJson的区别
- centos6配置vnc登录远程物理机及vb复制vdi启动虚拟机网络问题
- 解决WindowsServer 2008 R2 未注册版一个小时自动强制关机
- Logstash过滤器--Geoip
- 瞬间读懂什么是互联网思维、大数据、O2O、众筹、红海