链表存储式栈
#include stdio.h #include stdlib.h #include stdio.h #include stdlib.h #include string.h #include stdlib.h typedef struct stack_node{ int data; struct stack_node * next; } STstacknode; /*声明一个结构体来存储栈顶有更强的可读性*/ typedef struct{ STstacknode *top; }stack; int push(stack *s, int data_in) { STstacknode *p(STstacknode *) malloc (sizeof(STstacknode)); if (p NULL) return 0; // 分配失 p-datadata_in; p-nexts-top; s-topp; } int pop(stack *s, int *data_in) { if(s-topNULL) return 1; STstacknode *ps-top; *data_inp-data; s-topp-next; return 0; } int stack_reviw(stack *s) { if(s-topNULL) { printf(栈空\r\n); return 1; } STstacknode *ps-top; while(p!NULL) { printf(data: %d\r\n,p-data); pp-next; } return 0; } void initStack(stack *s) { s-top NULL; } int main() { // datain[10]{1,2,3,4,5}; int temp; stack s; initStack(s); stack_reviw(s); push(s, 1); stack_reviw(s); push(s, 3); stack_reviw(s); pop(s, temp); printf(-out data: %d\r\n,temp); stack_reviw(s); // push(s,int datain[0]); }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2611393.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!