C语言——链式存储实现栈的基本运算算法
2017-08-17 22:45
691 查看
Lkstack.h
main.c
// 链栈的定义 typedef struct node { int data; struct node *next; }LkStk;
main.c
#include <stdio.h> #include "Lkstack.h" // 链接存储实现栈的基本运算算法 // 1. 初始化,建立一个空栈 void InitStack(LkStk *LS) { LS = (LkStk *)malloc(sizeof(LkStk)); LS->next = NULL; } // 2. 判断栈空 int EmptyStack(LkStk *LS) { if(LS->next == NULL) return 1; else return 0; } // 3. 进栈 void Push(LkStk *LS, int x) { LkStk *temp; temp = (LkStk *)malloc(sizeof(LkStk)); temp->data = x; temp->next = LS->next; // 指向栈顶节点 LS->next = temp; // 更新新的栈顶节点 } // 4. 出栈 int Pop(LkStk *LS) { LkStk *temp; if(!EmptyStack(LS)) { temp = LS->next; LS->next = temp->next; free(temp); return 1; } else return 0; } // 5. 取栈顶元素 int GetTop(LkStk *LS) { if(!EmptyStack(LS)) return LS->next->data; else return 0; }
相关文章推荐
- 第六周:栈的链式存储结构及其基本运算实现
- 数据结构之自建算法库——二叉树的链式存储及基本运算
- 第九周项目实践1 二叉树的链式存储及基本运算 算法库
- 栈的链式存储结构及其基本运算的实现
- 栈的链式存储结构及其基本运算的实现
- 用C++模板实现线性表的链式存储的基本算法(数据结构C++版 北京科海)
- 数据结构之自建算法库——二叉树的链式存储及基本运算
- 栈的链式存储结构及其基本运算的实现
- 第十周--项目1算法库建立-二叉树的链式存储及基本运算
- 栈的链式存储结构及其基本运算的实现
- 栈的链式存储结构及其基本运算实现
- 栈的链式存储结构及其基本运算实现
- 第九周项目1之自建算法库——二叉树的链式存储及基本运算
- 栈的链式存储结构及其基本运算实现
- 数据结构-栈-链式存储-基本运算
- 第十周项目1 二叉树的链式存储及基本运算
- 【第八周】项目3(3)-上、下三角矩阵、对角矩阵的压缩存储结构,以及相关的基本运算的实现
- 实现链栈各种基本运算的算法
- 实现环形队列各种基本运算的算法(用顺序结构)
- 线性表链式存储的C语言实现(含源码)