stack2.c
来自「自己做的常用库和实现的数据结构。public domain.」· C语言 代码 · 共 50 行
C
50 行
#include<stdio.h>#include<stdlib.h>typedef struct a { int x; struct a *next;} A;A *top;void push(int c);A *pop(A *p);int main(void){ int c; while( (c = getchar()) != EOF ) { if(c == '[' || c == ']' || c == '{' || c == '}' || c == '(' || c == ')') push(c); } while(top != NULL) top = pop(top); puts(""); return EXIT_SUCCESS;}void push(int c){ A *p; static int cnt=0; if( (p = malloc(sizeof(A))) == NULL ) { fprintf(stderr, "Fatal: mem alloc failed !"); exit(EXIT_FAILURE); } p->x = c; if(cnt++ == 0) p->next = NULL; else p->next = top; top = p;}A *pop(A *p){ A *t; printf("%c", p->x); t = p->next; free(p); return t;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?