duilie1.cpp

来自「本算法构造循环队列」· C++ 代码 · 共 62 行

CPP
62
字号
//构造一循环队列
#include<stdio.h>
#include<malloc.h>
#define MAXQSIZE 100
typedef struct{
	int *base;
	int front;
	int rear;
}sqQueue;
//初始化队列
sqQueue *InitQueue(sqQueue *Q)
{
	Q=(sqQueue*)malloc(sizeof(sqQueue));
	Q->base=(int *)malloc(MAXQSIZE*sizeof(int));
	if(!Q->base) printf("Error!");
	Q->front=Q->rear=0;
	return Q;
}
//球队列的长度
int QueueLength(sqQueue *Q)
{
	return (Q->rear-Q->front+MAXQSIZE)%MAXQSIZE;
}
//元素从队尾进入队列
void EnQueue(sqQueue *Q,int e)
{
	if((Q->rear+1)%MAXQSIZE==Q->front) printf("Error1!");
	Q->base[Q->rear]=e;
	Q->rear=(Q->rear+1)%MAXQSIZE;
	return;
}
//元素从对头出队列
void DeQueue(sqQueue *Q)
{
	if(Q->front==Q->rear) printf("Error2!");
	printf("%d ",Q->base[Q->front]);
	Q->front=(Q->front+1)%MAXQSIZE;
	return;
}
void main()
{
  int i=0,j;
	sqQueue *a;
 a= InitQueue(a);
printf("Please enter the numbers waited to be in queue!\n");
 while(j!=1000 && i<100)
 {
scanf("%d",&j);
 EnQueue(a,j);
i++;
 }
printf("the numbers in queue are:");
while(i>1)
{
	DeQueue(a);
     i--;
}
printf("\n");
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?