From c6bc541ab58363d783e60a007e80e9bf9e231fda Mon Sep 17 00:00:00 2001 From: garhve Date: Mon, 5 Dec 2022 19:43:39 +0800 Subject: initialize --- .../\351\223\276\351\230\237\345\210\227/queue.c" | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100755 "c/dataStructure/\346\240\210\345\222\214\351\230\237\345\210\227/\351\230\237\345\210\227/\351\223\276\351\230\237\345\210\227/queue.c" (limited to 'c/dataStructure/栈和队列/队列/链队列/queue.c') diff --git "a/c/dataStructure/\346\240\210\345\222\214\351\230\237\345\210\227/\351\230\237\345\210\227/\351\223\276\351\230\237\345\210\227/queue.c" "b/c/dataStructure/\346\240\210\345\222\214\351\230\237\345\210\227/\351\230\237\345\210\227/\351\223\276\351\230\237\345\210\227/queue.c" new file mode 100755 index 0000000..94361d1 --- /dev/null +++ "b/c/dataStructure/\346\240\210\345\222\214\351\230\237\345\210\227/\351\230\237\345\210\227/\351\223\276\351\230\237\345\210\227/queue.c" @@ -0,0 +1,75 @@ +#include "queue.h" + +void InitQueue(pqueue * q) +{ + *q = NULL; +} + +bool EmptyQueue(pqueue * qhead) +{ + if (!*qhead) + return true; + return false; +} + +bool EnQueue(pqueue * qtail, ElemType * e) +{ + pqueue new = (pqueue) malloc (sizeof(Queue)); + if (!new) + return false; + new->data = *e; + new->next = NULL; + + if (!*qtail) + *qtail = new; + else + { + (*qtail)->next = new; + *qtail = new; + } + + return true; +} + +bool DeQueue(pqueue * qhead, ElemType * e) +{ + pqueue tmp = *qhead; + if (!*qhead) + return false; + *e = tmp->data; + *qhead = (*qhead)->next; + free(tmp); + + return true; +} + +bool RsQueue (pqueue * qhead) +{ + if (EmptyQueue(qhead)) + return false; + pqueue tmp = *qhead; + + while (!*qhead) + { + tmp = (*qhead)->next; + free(*qhead); + *qhead = tmp; + } + + return true; +} + +bool PrintQueue (pqueue * qhead) +{ + if (EmptyQueue(qhead)) + return false; + pqueue tmp = *qhead; + + while (tmp) + { + printf("%c", tmp->data); + tmp = tmp->next; + } + putchar('\n'); + return true; +} -- cgit v1.2.3-70-g09d2