데이터 구조 에서 대기 열 에 대한 작업

1480 단어 데이터 구조
#include

#include

#define MAXQSIZE 100

#define OK 2

#define ERROR 0

#define OVERFLOW -1

#define TRUE 1

#define FALSE 0

typedef int QElemType;

typedef int Status;



typedef struct{

       QElemType *base;

       int front;

       int rear;

}SqQueue;



Status InitQueue(SqQueue&Q){    //       Q

       Q.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType));

       if(!Q.base)exit(OVERFLOW);    //      

       Q.front=Q.rear=0;

       return OK;

}



Status EnQueue(SqQueue&Q,QElemType e){     //    e Q      

       if((Q.rear+1)%MAXQSIZE==Q.front)return ERROR;    //   

       Q.base[Q.rear]=e;

       Q.rear=(Q.rear+1)%MAXQSIZE;

       return OK;

}



Status DeQueue(SqQueue&Q) {

       //     ,   Q     , e    ,   OK;

       //    ERROR

       QElemType e;

       if(Q.front==Q.rear)return ERROR;

       else{

              e=Q.base[Q.front];

       printf("%d",e);

       Q.front=(Q.front+1)%MAXQSIZE;

       }

       return OK;

}



int main(){        //   

       SqQueue Q;

       Status a[15];

       InitQueue(Q);

       printf("         :
");        for(int i=0;i<7;i++)        {                         //               scanf("%d",&a[i]);               EnQueue(Q,a[i]);          }        printf(" :
");        for(int i=0;i<7;i++)               DeQueue(Q);        return 0; }

좋은 웹페이지 즐겨찾기