数据结构 -- 栈的数组实现法
来源:互联网 发布:农村淘宝一单赚多少钱 编辑:程序博客网 时间:2024/06/04 01:09
栈(Stack)是一种线性存储结构,它具有如下特点:
- 栈中的数据元素遵守”先进后出"(First In Last Out)的原则,简称FILO结构。
- 限定只能在栈顶进行插入和删除操作。
下面将使用c++实现栈的结构与入栈出栈等操作:
参考代码:
#include <cstdio>#include <iostream>#include <cstdlib>using namespace std;#define MAXN 100#define PUSH_ERROR 0x1#define POP_ERROR 0x2struct stack{int arr[MAXN];int top;};//初始化栈结构void init_stack(struct stack *st){st->top = 0;return;}//入栈int push(struct stack *st , int val){if (st->top < MAXN){st->arr[st->top++] = val;}else{return PUSH_ERROR;}return 0;}//出栈int pop(struct stack *st){if (st->top > 0){printf("The POP val is %d\n",st->arr[st->top-1]);st->top--;}else{return POP_ERROR;}return 0;}//求栈顶元素int Top(struct stack *st){printf("TOP VAL is %d\n",st->arr[st->top-1]);return 0;}//求栈的大小int show(struct stack *st){int count = 0;for (int i = 0 ; i < st->top ; i++){count++;}return count;}int main(void){struct stack *st1 = (struct stack *)malloc(sizeof(struct stack));init_stack(st1);push(st1,1);push(st1,3);push(st1,2);printf("Count: %d \n",show(st1));Top(st1);pop(st1);pop(st1);printf("Count: %d \n",show(st1));return 0;}
阅读全文
1 0
- 数据结构 -- 栈的数组实现法
- 【数据结构】栈-数组的实现
- [数据结构] 栈的数组实现
- 数组实现栈的数据结构
- 【数据结构】栈的数组实现
- 【数据结构】栈的数组实现
- 数据结构-----栈数组实现
- 数据结构---栈(数组实现)
- 数据结构栈stack的动态数组实现
- 经典数据结构--数组实现的栈
- 【C++数据结构】动态数组栈的实现
- 数据结构和算法--栈的数组实现
- 【数据结构】队列-数组的实现
- 数据结构-用数组实现栈
- 简单数据结构---数组实现栈
- 【JAVA数据结构】栈(数组实现)
- 数据结构-栈-数组实现对头的双栈
- 各种数据结构的完整实现之 数组栈
- MS SQL SERVER
- DirectX(八)
- Linux 常用命令-目录文件管理二
- c++ 非托管程序调用c#托管程序l的实现操作方式
- CentOS 7 SSH 免密登录的方法
- 数据结构 -- 栈的数组实现法
- CentOS 7 设置默认进入图形界面或文本界面
- caffe2 mdl文件转init_net.pb, predict_net.pb
- 梯度下降优化算法综述
- 引用第三方进行Android前端与web后台的数据交互
- vue-lazyload基础实例(基于vue2.0和vue-router2.0)
- 数字电路中的亚稳态产生原因和处理方法
- 修饰符
- Python-14 函数:灵活即强大