데이터 구조 - 대기 열 - 순서 저장 완전 실행 코드
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 20 /* */
typedef int Status;
/* QElemType , int */
typedef int QElemType;
/* */
typedef struct
{
QElemType data[MAXSIZE];
int front; /* */
int rear; /* , , */
}SqQueue;
/* Q */
Status InitQueue(SqQueue *Q)
{
Q->front=0;
Q->rear=0;
return OK;
}
Status visit(QElemType c)
{
printf("%d ",c);
return OK;
}
/* Q */
Status QueueTraverse(SqQueue Q)
{
int i;
i=Q.front;
while((i+Q.front)!=Q.rear)
{
visit(Q.data[i]);
i=(i+1)%MAXSIZE;
}
printf("
");
return OK;
}
/* , e Q */
Status EnQueue(SqQueue *Q,QElemType e)
{
if ((Q->rear+1)%MAXSIZE == Q->front) /* */
return ERROR;
Q->data[Q->rear]=e; /* e */
Q->rear=(Q->rear+1)%MAXSIZE;/* rear , */
/* */
return OK;
}
/* , Q , e */
Status DeQueue(SqQueue *Q,QElemType *e)
{
if (Q->front == Q->rear) /* */
return ERROR;
*e=Q->data[Q->front]; /* e */
Q->front=(Q->front+1)%MAXSIZE; /* front , */
/* */
return OK;
}
/* Q */
Status ClearQueue(SqQueue *Q)
{
Q->front=Q->rear=0;
return OK;
}
/* Q , TRUE, FALSE */
Status QueueEmpty(SqQueue Q)
{
if(Q.front==Q.rear) /* */
return TRUE;
else
return FALSE;
}
/* Q , */
int QueueLength(SqQueue Q)
{
return (Q.rear-Q.front+MAXSIZE)%MAXSIZE;
}
int main()
{
int opp, j;
SqQueue Q;
QElemType d;
InitQueue(&Q);
printf("
1.
2.
3.
4. ");
printf("
5.
6.
7. ");
printf("
0.
:
");
while(opp != '0')
{
scanf("%d",&opp);
switch(opp)
{
case 1:
srand(time(0));
for(j=1; j<=10; j++)
{
d = rand()%100+1;
EnQueue(&Q,d);
}
QueueTraverse(Q);
break;
case 2:
QueueTraverse(Q);
break;
case 3:
printf(" :");
scanf("%d", &d);
EnQueue(&Q,d);
QueueTraverse(Q);
break;
case 4:
DeQueue(&Q,&d);
printf(" %d
",d);
break;
case 5:
printf(" ?%u(1: 0: )
",QueueEmpty(Q));
break;
case 6:
ClearQueue(&Q);
printf(" , ?%u(1: 0: )
",QueueEmpty(Q));
break;
case 7:
printf(" : %d
",QueueLength(Q));
break;
case 0:
exit(0);
}
}
return 0;
}
공부 하 는 길에 당신 과 함께 격려 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.