修改编码

This commit is contained in:
Xu Bai
2019-07-03 22:56:35 +08:00
parent f17da0810b
commit 2789b44860
2 changed files with 10 additions and 11 deletions

View File

@@ -2,7 +2,7 @@
* @Author: Xu Bai
* @Date: 2019-07-03 21:37:15
* @LastEditors: Xu Bai
* @LastEditTime: 2019-07-03 22:46:26
* @LastEditTime: 2019-07-03 22:55:56
*/
#include "stdlib.h"
@@ -51,7 +51,7 @@ Status DestroyQueue(LinkQueue *Q)
{
while (Q->front)
{
// Q->rearûɶ<EFBFBD>þ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽ڵ<EFBFBD>
// Q->rear没啥用作为临时变量存放front后继结点
Q->rear = Q->front->next;
free(Q->front);
Q->front = Q->rear;
@@ -61,7 +61,7 @@ Status DestroyQueue(LinkQueue *Q)
Status ClearQueue(LinkQueue *Q)
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>front<EFBFBD><EFBFBD><EFBFBD>
// 与clear区别在于保留front和rear
QueuePtr p, q;
Q->rear = Q->front;
p = Q->front->next;
@@ -118,7 +118,7 @@ Status EnQueue(LinkQueue *Q, ElemType e)
}
p->data = e;
p->next = NULL;
Q->rear->next = p; //<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD>β
Q->rear->next = p; // 把新节点p作为rear
Q->rear = p;
return OK;
}
@@ -134,8 +134,7 @@ Status DeQueue(LinkQueue *Q, ElemType *e)
Q->front->next = p->next;
if (Q->rear == p)
{
// <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>
//<2F><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>Ƕ<EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>rearָ<72><D6B8>front
// 当除了头节点只剩下一个元素时需要把rear指向头节点
Q->rear = Q->front;
}
free(p);
@@ -168,17 +167,17 @@ int main()
EnQueue(&q, -5);
EnQueue(&q, 5);
EnQueue(&q, 10);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>(-5,5,10)<29><>,<2C><><EFBFBD>еij<D0B5><C4B3><EFBFBD>Ϊ%d\n", QueueLength(q));
printf("EnQueue(-5,5,10), Length=%d\n", QueueLength(q));
QueueTraverse(q);
i = GetHead(q, &e);
if (i == OK)
printf("<EFBFBD><EFBFBD>ͷԪ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>%d\n", e);
printf("GetHead:%d\n", e);
DeQueue(&q, &e);
printf("ɾ<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ͷԪ<EFBFBD><EFBFBD>%d\n", e);
printf("DeQueue:%d\n", e);
QueueTraverse(q);
ClearQueue(&q);
printf("<EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD>к<EFBFBD>,q.front=%u q.rear=%u q.front->next=%u\n", q.front, q.rear, q.front->next);
printf("Clear: q.front=%u q.rear=%u q.front->next=%u\n", q.front, q.rear, q.front->next);
DestroyQueue(&q);
printf("<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><EFBFBD>к<EFBFBD>,q.front=%u q.rear=%u\n", q.front, q.rear);
printf("Destroy: ,q.front=%u q.rear=%u\n", q.front, q.rear);
getchar();
}

BIN
a.out

Binary file not shown.