stack.cpp

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