。。。注释头

This commit is contained in:
Xu Bai
2019-07-03 22:46:45 +08:00
parent dfd1431e3f
commit f17da0810b

View File

@@ -1,3 +1,10 @@
/*
* @Author: Xu Bai
* @Date: 2019-07-03 21:37:15
* @LastEditors: Xu Bai
* @LastEditTime: 2019-07-03 22:46:26
*/
#include "stdlib.h"
#include "stdio.h"
#include "io.h"
@@ -44,7 +51,7 @@ Status DestroyQueue(LinkQueue *Q)
{
while (Q->front)
{
// Q->rear没啥用就拿来作为临时变量存储后继节点
// Q->rearûɶ<EFBFBD>þ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽ڵ<EFBFBD>
Q->rear = Q->front->next;
free(Q->front);
Q->front = Q->rear;
@@ -54,7 +61,7 @@ Status DestroyQueue(LinkQueue *Q)
Status ClearQueue(LinkQueue *Q)
{
// 与销毁相比保留了front结点
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>front<EFBFBD><EFBFBD><EFBFBD>
QueuePtr p, q;
Q->rear = Q->front;
p = Q->front->next;
@@ -111,7 +118,7 @@ Status EnQueue(LinkQueue *Q, ElemType e)
}
p->data = e;
p->next = NULL;
Q->rear->next = p; //添加到链尾
Q->rear->next = p; //<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD>β
Q->rear = p;
return OK;
}
@@ -127,8 +134,8 @@ Status DeQueue(LinkQueue *Q, ElemType *e)
Q->front->next = p->next;
if (Q->rear == p)
{
// 若链表除头节点外只剩下一个元素时则需将rear指向头节点
//若队头就是队尾,则删除后将rear指向front
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֻʣ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>轫rearָ<EFBFBD><EFBFBD>ͷ<EFBFBD>ڵ<EFBFBD>
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>rearָ<EFBFBD><EFBFBD>front
Q->rear = Q->front;
}
free(p);
@@ -161,17 +168,17 @@ int main()
EnQueue(&q, -5);
EnQueue(&q, 5);
EnQueue(&q, 10);
printf("插入3个元素(-5,5,10)后,队列的长度为%d\n", QueueLength(q));
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>(-5,5,10)<29><>,<2C><><EFBFBD>еij<D0B5><C4B3><EFBFBD>Ϊ%d\n", QueueLength(q));
QueueTraverse(q);
i = GetHead(q, &e);
if (i == OK)
printf("队头元素是:%d\n", e);
printf("<EFBFBD><EFBFBD>ͷԪ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>%d\n", e);
DeQueue(&q, &e);
printf("删除了队头元素%d\n", e);
printf("ɾ<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ͷԪ<EFBFBD><EFBFBD>%d\n", e);
QueueTraverse(q);
ClearQueue(&q);
printf("清空队列后,q.front=%u q.rear=%u q.front->next=%u\n", q.front, q.rear, q.front->next);
printf("<EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD>к<EFBFBD>,q.front=%u q.rear=%u q.front->next=%u\n", q.front, q.rear, q.front->next);
DestroyQueue(&q);
printf("销毁队列后,q.front=%u q.rear=%u\n", q.front, q.rear);
printf("<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><EFBFBD>к<EFBFBD>,q.front=%u q.rear=%u\n", q.front, q.rear);
getchar();
}