数据结构之栈的顺序表实现
来源:互联网 发布:橡皮砖淘宝店铺 编辑:程序博客网 时间:2024/05/16 05:12
/*实现功能:用顺序表实现栈的各种操作编译环境:Windows 64b,vc6.0日期: 2015/7/20作者:wtt561111*/#define stack_max_num 10#include "stdio.h"#include "stdlib.h"struct SeqStack{int MAXNUM;int t;//始终指向栈顶int *s;};typedef struct SeqStack *PSeqStack;/*创建一个空的堆栈,存储方式为顺序表*/PSeqStack createEmptyStack_seq(int m){PSeqStack pastack=(PSeqStack)malloc(sizeof (struct SeqStack));if(pastack==NULL){printf("out of spcae!\n");return NULL;}pastack->s=(int * )malloc (sizeof (int)*m);if(pastack==NULL){printf("out of space!\n");return NULL;}pastack->MAXNUM=m;pastack->t=-1;return pastack;}/*****************************************************//*判断堆栈是否为空*/int isEmptyStack_seq(PSeqStack pastack){if(pastack->t==(-1) )return 1;return 0;}/*****************************************************//*将x压入栈中,成功返回1,否则返回0;*/int push_seq(PSeqStack pastack,int x){if(pastack->t >= pastack->MAXNUM){printf("overflow!\n");return 0;}pastack->t=pastack->t+1;pastack->s[pastack->t]=x;return 1;}/*****************************************************//*将栈顶元素出栈,成功返回1,否则返回0;*/int pop_seq(PSeqStack pastack){if(pastack->t==(-1)){printf("empty stack!\n");return 0;}pastack->t=(pastack->t)-1;return 1;}/*****************************************************//*获取栈顶元素,成功返回栈顶元素,否则返回-1;*/int top_seq(PSeqStack pastack){if(pastack->t==(-1)){printf("empty stack!\n");return -1;}return pastack->s[pastack->t];}/*****************************************************//********************主函数***************************/int main(){PSeqStack stack_get=createEmptyStack_seq(stack_max_num);push_seq(stack_get,0);push_seq(stack_get,1);push_seq(stack_get,2);push_seq(stack_get,3);pop_seq(stack_get);int from_top=top_seq(stack_get);printf("%d\n",from_top);return 0;}
1 0
- 数据结构之栈的顺序表实现
- 简单数据结构的实现之顺序栈
- 数据结构之顺序表的实现
- 数据结构之顺序栈实现
- 数据结构之顺序表实现
- 数据结构之顺序表实现
- 数据结构学习之线性表的顺序实现(python 实现)
- 数据结构---栈的顺序实现
- 数据结构-----顺序栈的实现
- 数据结构之顺序存储的栈的实现
- 数据结构顺序表的实现
- 数据结构顺序表的实现
- 数据结构----顺序表的实现
- 【数据结构】顺序表的实现
- [数据结构]栈之顺序栈的类模板实现
- C++数据结构之栈——顺序栈的实现
- 数据结构 学习笔记之:顺序栈的C语言实现
- 数据结构之---c语言实现栈的顺序存储
- linux 一些操作
- CodeForces 252A-Valera and Antique Items
- oracle学习笔记——表空间联机脱机
- greenDAO系列1--概要
- Java之旅hibernate(4)——hibernate入门示例
- 数据结构之栈的顺序表实现
- oracle学习笔记——索引
- 大数据学习篇:hadoop深入浅出系列之hadoop伪分布式安装
- UVa:1611 Crane(贪心)
- oracle学习笔记——约束条件
- 二叉树三种遍历非递归实现
- Druid连接池三(学习笔记)
- Vim学习笔记3---命令辨析
- Android-ListView详解(SimpleAdapter,ArrayAdapter,BaseAdapter,OnItenClickListener,OnScrollListener)