diff --git a/上课Demo/7.队列的链å¼�存储实现.c b/上课Demo/7.队列的链å¼�存储实现.c index ab51396..8ce55d0 100644 --- a/上课Demo/7.队列的链å¼�存储实现.c +++ b/上课Demo/7.队列的链å¼�存储实现.c @@ -7,16 +7,16 @@ struct Node{ struct Node *Next; }; struct QNode{ - struct Node *rear; // Ö¸Ïò¶Óβ½áµã - struct Node *front; // Ö¸Ïò¶ÓÍ·½áµã + struct Node *rear; // 指å�‘队尾结点 + struct Node *front; // 指å�‘队头结点 }; -Queue CreateQueue(); // ³õʼ»¯¶ÓÁÐ -void AddQ(Queue Q,ElementType item); // Èë¶Ó -ElementType DeleteQ(Queue Q); // ³ö¶Ó -int IsEmpty(Queue Q); // Åж϶ÓÁÐÊÇ·ñΪ¿Õ +Queue CreateQueue(); // åˆ�始化队列 +void AddQ(Queue Q,ElementType item); // 入队 +ElementType DeleteQ(Queue Q); // 出队 +int IsEmpty(Queue Q); // 判断队列是å�¦ä¸ºç©º -// ³õʼ»¯ +// åˆ�始化 Queue CreateQueue(){ Queue Q; Q = (Queue)malloc(sizeof(struct QNode)); @@ -25,36 +25,36 @@ Queue CreateQueue(){ return Q; } -// ÊÇ·ñΪ¿Õ +// 是å�¦ä¸ºç©º int IsEmpty(Queue Q){ return (Q->front == NULL); } -// Èë¶Ó +// 入队 void AddQ(Queue Q,ElementType item){ struct Node *node; node = (struct Node *)malloc(sizeof(struct Node)); node->Data = item; node->Next = NULL; - if(Q->rear==NULL){ //´Ëʱ¶ÓÁÐ¿Õ + if(Q->rear==NULL){ //此时队列空 Q->rear = node; Q->front = node; - }else{ //²»Îª¿Õ - Q->rear->Next = node; // ½«½áµãÈë¶Ó - Q->rear = node; // rear ÈÔÈ»±£³Ö×îºó + }else{ //ä¸�为空 + Q->rear->Next = node; // 将结点入队 + Q->rear = node; // rear ä»�ç„¶ä¿�æŒ�最å�Ž } } -// ³ö¶Ó +// 出队 ElementType DeleteQ(Queue Q){ struct Node *FrontCell; ElementType FrontElem; if(IsEmpty(Q)){ - printf("¶ÓÁпÕ"); + printf("队列空"); return 0; } FrontCell = Q->front; - if(Q->front == Q->rear){ // ¶ÓÁÐÖÐÖ»ÓÐÒ»¸öÔªËØ + if(Q->front == Q->rear){ // 队列中å�ªæœ‰ä¸€ä¸ªå…ƒç´  Q->front = Q->rear = NULL; }else{ Q->front = Q->front->Next; @@ -67,15 +67,15 @@ ElementType DeleteQ(Queue Q){ int main(){ Queue Q; Q = CreateQueue(); - printf("Èë¶Ó5\n"); + printf("入队5\n"); AddQ(Q,5); - printf("Èë¶Ó4\n"); + printf("入队4\n"); AddQ(Q,4); - printf("Èë¶Ó4\n"); + printf("入队3\n"); AddQ(Q,3); - printf("³ö¶Ó%d\n",DeleteQ(Q)); - printf("³ö¶Ó%d\n",DeleteQ(Q)); - printf("³ö¶Ó%d\n",DeleteQ(Q)); + printf("出队%d\n",DeleteQ(Q)); + printf("出队%d\n",DeleteQ(Q)); + printf("出队%d\n",DeleteQ(Q)); printf("%d\n",DeleteQ(Q)); return 0; }