#include<stdio.h>
#include<malloc.h>
#define MAXLEN 10;
typedef struct{
int data[MAXLEN];
int front;
int count;
}Node;
//构造空队列
void InitQueue(Node*q){
q=(Node*)malloc(sizeof(Node));
q->front=1;
q->count=0;
}
//判断对列是否为空
int Emptyq(Node*q){
if(q->count==0){
return 1;
}else{
return 0;
}
}
//打印对列
void PrintQueue(Node*q){
int i;
for(i=0;i<q->count;i++){
printf("%d ",q->data[i]);
}
}
//入队操作
int EnQueue(Node*q,int x){
int p;
if(q->count==MAXLEN){
printf("对列溢出");
return 0;
}else{
p=(q->front+q->count)%MAXLEN;
q->data[p]=x;
(q->count)++;
return 1;
}
}
//出队操作
int OutQueue(Node*q,int*x){
if Emptyq(q){
printf("对列为空!");
return 0;
}else{
*x=q->data[q->count];
q->front=(q->front+1)%MAXLEN;
q->count++;
return 1;
}
}
int main(){
int a;
int*y; //取对列头元素
Node*q;
InitQueue(q);
char ch='!';
printf("输入待入队的元素,输入?表示结束:\n");
while(ch!='?'){
scanf("%d",&a);
EnQueue(q,a); //入队
ch=getchar();
}
PrintQueue(q); //打印数组
OutQueue(q,y); //出队
printf("对列头元素为%d",*y);
return 0;
}
慕设计2395807
相关分类