五、顺序栈
来源:互联网 发布:js更改文本框颜色 编辑:程序博客网 时间:2024/05/21 06:23
- 序言
- 栈的结构图
- 栈的结构
- 栈的基本操作
- 栈的实现
- 序言
序言
用链表实现的栈结构,遵循先进后出
栈的结构图
栈的结构
typedef struct STACK_LIST { Node *pFront; Node *pTail;} *PSTACK_LIST, STACK_LIST;
栈的基本操作
void init_stack_list(PSTACK_LIST *pstack_list);void push_stack_list(PSTACK_LIST pstack_list, ELEMENT *data);void pop_stack_list(PSTACK_LIST pstack_list, ELEMENT *data);bool is_empty_stack_list(PSTACK_LIST pstack_list);void clear_stack_list(PSTACK_LIST pstack_list);void destroy_stack_list(PSTACK_LIST *pstack_list);void print_stack_list(PSTACK_LIST pstack_list);
栈的实现
void init_stack_list(PSTACK_LIST *pstack_list) { *pstack_list = malloc(sizeof(pstack_list)); (*pstack_list)->pFront = NULL; (*pstack_list)->pTail = NULL;};void push_stack_list(PSTACK_LIST pstack_list, ELEMENT *data) { Node *pInsertNode = malloc(sizeof(Node)); pInsertNode->data = *data; pInsertNode->next = pstack_list->pFront; pstack_list->pFront = pInsertNode;};void pop_stack_list(PSTACK_LIST pstack_list, ELEMENT *data) { PNode delNode = pstack_list->pFront; pstack_list->pFront = pstack_list->pFront->next; *data = delNode->data; free(delNode);};bool is_empty_stack_list(PSTACK_LIST pstack_list) { if (pstack_list->pFront == NULL) { return true; } return false;};void clear_stack_list(PSTACK_LIST pstack_list) { while (!is_empty_stack_list(pstack_list)) { int a = 0; pop_stack_list(pstack_list, &a); }}void destroy_stack_list(PSTACK_LIST *pstack_list) { clear_stack_list(*pstack_list); free(*pstack_list); printf("stack list has been destroyed\n");}void print_stack_list(PSTACK_LIST pstack_list) { while (!is_empty_stack_list(pstack_list)) { int a = 0; pop_stack_list(pstack_list, &a); printf("%d\n", a); }};
github:https://github.com/HumorSmith/DataStructure/tree/master/stack
阅读全文
0 0
- 五、顺序栈
- c++实现数据结构五顺序栈
- 算法与数据结构之五----顺序栈
- 小菜一步一步学数据结构之(五)顺序栈
- Filter(五)FilterChain执行顺序
- 《数据结构》实验五【顺序树】
- 数据机构(五) 顺序栈的基本操作 --- 包含初始化,入栈和出栈
- 数据结构学习系列五-顺序栈(c++实现且应用模板)
- 练习五:按照顺序,合并数组
- 浏览器了解(五)资源加载顺序
- 排序之五(顺序统计、中位数法)
- Erlang 程序设计 学习笔记(五) 顺序编程
- UML学习笔记(五)--顺序图
- 用户进程init(顺序阅读五)
- [数据结构]实验五_顺序二叉树
- 栈和队列的面试题(五)---判断元素出栈、入栈顺序的合法性
- 顺序栈
- 顺序栈
- Highcharts 的画图使用
- Java中的注解基础
- 一次rabbitmq引起的系统雪崩
- 二叉树中和为某一值的路径
- 个人学习(九)
- 五、顺序栈
- ToolBar简单实用
- ECMAScript6入门
- summit 6.0 + redhat6.5 + oracle11.2g 安装(1)
- imx6q芯片linux内核版本操作系统,将显示颜色顺序从bgr修改为rgb
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- Story 27-28
- 如何发布自己的Composer包
- UVA-575-Skew Binary (简单数论问题)