queue.cpp

看板FcuIecs-Ding作者 (飛機頭......帥)時間25年前 (2001/04/17 11:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
#include<stdio.h> #include<stdlib.h> typedef struct Tqueue_node queue_node; typedef struct Tqueue_node { int data; queue_node *next; } queue_node; typedef struct { queue_node *front, *rare; } queue; void add(queue *mqueue, int data); queue_node *remove(queue *mqueue); void traverse(queue *mqueue); int main() { int data; queue *mqueue = (queue *)malloc(sizeof(queue)); mqueue->front = mqueue->rare = NULL; queue_node *rmvnode; while (scanf("%d", &data) == 1) { if (data == -1) break; else add(mqueue, data); traverse(mqueue); } while ((rmvnode = remove(mqueue)) != NULL) { free(rmvnode); traverse(mqueue); } return 0; } void add(queue *mqueue, int data) { queue_node *addnode = (queue_node *)malloc(sizeof(queue_node)); addnode->data = data; addnode->next = NULL; if (mqueue->rare == NULL) mqueue->front = addnode; else mqueue->rare->next = addnode; mqueue->rare = addnode; } queue_node *remove(queue *mqueue) { queue_node *rmvnode = mqueue->front; if (rmvnode != NULL) mqueue->front = mqueue->front->next; return rmvnode; } void traverse(queue *mqueue) { queue_node *curnode = mqueue->front; while (curnode != NULL) { printf("%d ", curnode->data); curnode = curnode->next; } puts(""); } -- 全世界都知道我喜歡妳 唯一不知道ㄉ........ 就是妳.......
文章代碼(AID): #wsxA000 (FcuIecs-Ding)