#數據結構#隊列

/*		隊列的順序存儲結構		*/
typedef struct{
	ElemType data[MacSize];
	int front,rear; //隊首,隊尾指針 
} SqQueue;
//初始化隊列
void InitQueue(SqQueue *&q){
	q=(SqQueue *)malloc(sizeof(SqQueue));
	q->front=q->rear=-1;
} 
//銷燬隊列
void DestroyQueue(SqQueue *&q){
	free(q);
} 
//判斷隊列是否爲空
bool QueueEmpty(SqQueue *q){
	return(q->front==q->rear);
} 
//進隊列
bool enQueue(SqQueue *&q,ElemType e){
	if(q->rear==MaxSize-1){
		return false;
	}
	q->rear++;
	q->data[q->rear]=e;
	return true;
} 
//出隊列
bool deQueue(SqQueue *&q,ElemType &e){
	if(q->front==q->rear){
		return false;
	}
	q->front++;
	e=q->data[q->front];
	return true;
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章