C数据结构-链栈
2017-10-09 16:03
176 查看
链栈
链栈的设计依赖于笔者之前设计的链表,详情请看《C数据结构-线性表之单链表 》。#ifndef LINKEDSTACK_H #define LINKEDSTACK_H #include "LinkedList.h" typedef linked_list linked_stack; /** * 创建链表栈 * @return */ linked_stack *linked_stack_create(); /** * 入栈 * @param pstack 栈指针 * @param p 入栈元素的指针 * @return 成功:1,失败:0 */ int linked_stack_push(linked_stack *pstack, elem_t *p); /** * 出栈 * @param pstack 栈指针 * @return 返回出栈元素的值 */ elem_t linked_stack_pop(linked_stack *pstack); /** * 获取栈顶元素的值 * @param pstack * @return */ elem_t linked_stack_top(linked_stack *pstack); /** * 判断栈是否为空 * @param pstack 栈指针 * @return 1为空,否则非空 */ int linked_stack_empty(linked_stack *pstack); /** * 销毁栈 * @param pstack 栈指针 * @return 成功:1,失败:0 */ int linked_stack_destroy(linked_stack *pstack); #endif // LINKEDSTACK_H
#include "LinkedStack.h" /** * 创建链表栈 * @return */ linked_stack *linked_stack_create() { return linked_list_create(); } /** * 入栈 * @param pstack 栈指针 * @param p 入栈元素的指针 * @return 成功:1,失败:0 */ int linked_stack_push(linked_stack *pstack, elem_t *p) { return linked_list_insert(pstack,p); } /** * 出栈 * @param pstack 栈指针 * @return 返回出栈元素的值 */ elem_t linked_stack_pop(linked_stack *pstack) { elem_t temp; linked_list_remove(pstack,0,&temp); return temp; } /** * 获取栈顶元素的值 * @param pstack * @return */ elem_t linked_stack_top(linked_stack *pstack) { elem_t temp; linked_list_get(pstack,0,&temp); return temp; } /** * 判断栈是否为空 * @param pstack 栈指针 * @return 1为空,否则非空 */ int linked_stack_empty(linked_stack *pstack) { return (pstack->length == 0); } /** * 销毁栈 * @param pstack 栈指针 * @return 成功:1,失败:0 */ int linked_stack_destroy(linked_stack *pstack) { return linked_list_destroy(pstack); }
相关文章推荐
- 数据结构——线性结构(3)——链栈的实现
- 链栈,C++,数据结构王红梅版
- 数据结构_线性表_顺序存储之1顺序栈2共享栈_链式存储之链栈_栈的应用举例
- 【数据结构】链栈的基本操作
- 数据结构 链栈
- 【数据结构】之链栈的java实现
- 数据结构专题——栈与队列之链栈及其Java实现
- 链栈的数据结构以及链栈的实现
- 第六周项目2—数据结构之自建算法库—链栈
- C语言实现数据结构中的链栈
- 《数据结构》链栈
- 数据结构 C语言 双向链栈 迷宫问题
- 数据结构学习心得——顺序栈和链栈
- 数据结构系列-链栈的基本操作
- 简单数据结构----链栈的C++实现
- 张小五学算法与数据结构第六天:链栈
- 数据结构---链栈的基本操作
- java与数据结构(6)---java实现链栈
- 数据结构第三次上机 第三章之链栈
- 数据结构_链栈