//置空队 c_SeQueue* Init_SeQueue() { q=malloc ( sizeof ( c_SeQueue ) ); q->front=q->rear=MAXSIZE-1; q->num=0; return q; } //入队 int In_SeQueue ( c_SeQueue *q , datatype x ) { if ( num==MAXSIZE ) { printf ( "队满" ); return –1; /*队满不能入队*/ } else { q->rear= ( q->rear+1 ) % MAXSIZE; q->data[q->rear]=x; num++; return 1; /*入队完成*/ } } //出队 int Out_SeQueue ( c_SeQueue *q , datatype *x ) { if ( num==0 ) { printf ( "队空" ) ; return –1; /*队空不能出队*/ } else { q->front= ( q->front+1 ) % MAXSIZE; *x=q->data[q->front]; /*读出队头元素*/ num--; return 1; /*出队完成*/ } } //判队空 int Empty_SeQueue ( c_SeQueue *q ) { if ( num==0 ) return 1; else return 0; }