mirror of
https://github.com/by777/dataStructureForC.git
synced 2026-02-03 10:03:14 +08:00
修改编码
This commit is contained in:
@@ -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();
|
||||
}
|
||||
Reference in New Issue
Block a user