首页 > 代码库 > (郝斌讲学)数据结构学习篇(四)---栈的CRUD操作
(郝斌讲学)数据结构学习篇(四)---栈的CRUD操作
栈
栈类似于箱子。
静态栈、动态栈。
关于栈的操作
#include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct Node { int data; struct Node *pNext; }NODE, *PNODE; typedef struct Stack { PNODE pTop; PNODE pBottom; }STACK, *PSTACK; void init(PSTACK); void push(PSTACK, int); void traverse(PSTACK); bool empty(PSTACK); bool pop(PSTACK, int *); void clear(PSTACK p); int main(void) { STACK s; int val; init(&s); push(&s, 1); push(&s, 2); push(&s, 3); push(&s, 4); push(&s, 5); push(&s, 6); push(&s, 7); traverse(&s); if(pop(&s, &val)) { printf("出栈成功,出栈的元素是 %d \n", val); } else { printf("出栈失败\n"); } traverse(&s); clear(&s); if(pop(&s, &val)) { printf("出栈成功,出栈的元素是 %d \n", val); } else { printf("出栈失败\n"); } return 0; } //完成一个栈的初始化 void init(PSTACK p) { p->pTop = (PNODE)malloc(sizeof(NODE)); if(NULL == p->pTop) { printf("动态内存分配失败\n"); exit(-1); } else { p->pBottom = p->pTop; p->pTop->pNext = NULL; } } void push(PSTACK p, int val) { PNODE pNew = (PNODE)malloc(sizeof(NODE)); pNew->data = http://www.mamicode.com/val;>栈主要用于表达式求值,缓冲处理,迷宫,函数调用,中断...
(郝斌讲学)数据结构学习篇(四)---栈的CRUD操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。