该程序包含了顺序栈的置空、判断是否为空、判断是否为满、入栈、出栈和取栈顶元素等几种操作;

#include <stdio.h>
#define size 100
typedef int datatype;         //假定栈元素的类型为int
typedef struct
{datatype data[size];int top;
}seqstack;void initstack(seqstack *s)    //置空
{s->top=-1;    //所有操作必须先置空
} int stackempty(seqstack *s)    //判断是否为空
{return s->top==-1;
}int stackfull(seqstack *s)    //判断是否为满
{return s->top==size-1;
}int push(seqstack *s,datatype x)      //入栈
{if(stackfull(s))    //自定义函数可以引用自定义函数 ,不需要通过实参输入; {puts("栈满");    // 新大陆,直接输出字符串包括中文; return 0;}s->data[++s->top]=x;return 1;    //栈的数组和栈的top ,先++在入
}int pop(seqstack *s,datatype *y)    //出栈
{if(stackempty(s)){puts("栈空");return 0; }*y=s->data[s->top--];return 1;
}int getstack(seqstack *s,datatype *e)    //取栈顶元素
{if(stackempty(s)){puts("栈空");return 0;    //因为在函数里面,所以输出之后会自动换行,不需要在添加自动换行符; }*e=s->data[s->top];return 1;
}void main()
{seqstack s;     //此处s是给定了空间的,可以直接使用 int x,y,e;initstack(&s);   printf("已经置空\n");printf("是否为空:%d\n",stackempty(&s));printf("是否为满:%d\n",stackfull(&s));scanf("%d",&x);printf("入栈是否成功:%d\n",push(&s,x));printf("出栈是否成功:%d\n",pop(&s,&y));printf("取栈顶元素是否成功:%d\n",getstack(&s,&e));
}

各位兄弟,如果这篇文章对你有那么一点点的帮助的话,就给我一点鼓励点个赞吧,兄弟我在这里谢谢大家啦!

c语言顺序栈的基本操作相关推荐

  1. C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)

    //顺序栈的基本操作 #include<stdio.h> #define MaxSize 50 typedef int ElemType; //定义栈结构体 typedef struct ...

  2. C语言——顺序栈(Stack)

    定义:栈是限定仅在表尾进行插入或者删除操作的线性表.因此对栈来说,尾端有其特殊含义,称为栈顶(top),相应的表头端称为栈底(bottom).不含元素的空表称为空栈. 栈的特性:栈又称为先进后出的线性 ...

  3. 停车场管理系统(C语言顺序栈+链栈+链队列)

    一.实验目的 1.根据停车场管理系统的要求,利用结构化程序设计方法以及C的编程思想来完成系统的设计,使用数据结构中的栈.队列进行分析: 2.按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用 ...

  4. 【C++】【数据结构】顺序栈的基本操作(初始化、入栈、出栈、取栈顶元素、遍历输出栈)的算法实现附全代码

    C++实现顺序栈的算法+步骤(附全代码): 使用c++完成数据结构顺序栈的基本操作,包括(初始化.入栈.出栈.取栈顶元素.遍历输出栈等),可直接编译运行. 顺序栈的定义如下: #define MAXS ...

  5. java顺序栈_顺序栈的基本操作(入栈和出栈)

    顺序栈的基本操作(入栈和出栈) 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如何使用顺序 ...

  6. c语言二进制转换算法栈,用C语言顺序栈实现十进制和二进制的转换

    用C语言顺序栈实现十进制和二进制的转换 #include #include #include #define M 100 typedef int datatype; typedef struct{ d ...

  7. c语言顺序栈完整程序,顺序栈的基本操作(C语言)

    由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址  但是这种用法好像C并不 ...

  8. C语言-实现栈的基本操作(顺序栈)

    下面用两种方式来构建顺序栈,分别是将top定义为指针类型和将top定义成指针下标两种形式,实现栈的基本操作. 目录 方法一: 1.1结构定义 1.2 完整代码 1.3测试用代码(用来逐步测试以上栈功能 ...

  9. 顺序栈的基本操作c语言源代码,顺序栈的栈基本操作(C语言版)

    1 #include 2 #include 3 #define STACK_INIT_SIZE 100//储存空间初始分配量 4 #define STACKINCREMENT 10//存储空间分配增量 ...

  10. python 顺序栈及基本操作

    顺序栈 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如何使用顺序表模拟栈以及实现对栈中数 ...

最新文章

  1. c语言中合法的字符型常量是,C语言习题库(带答案)-排版.doc
  2. 实现php数组编码的转换的类
  3. linux ora27040,AnyBackup-Oracle 异机恢复任务失败,执行输出提示 ORA-00344、ORA-27040 错误...
  4. 07 行锁功过:怎么减少行锁对性能的影响? (笔记)
  5. python list删除元素速度慢_python list(python list删除元素是要注意的坑点)
  6. python之celery使用详解一
  7. C#中跨线程操作控件
  8. php--学习封装类 (一)(操作mysql数据库的数据访问)
  9. 【ichart】简单的统计图表ichart.js的使用
  10. win10设置电池养护模式
  11. Python对word文档进行操作
  12. 职业书掉落及人物对照
  13. Simulink基础:基本模块操作2(Gain模块与积分模块)
  14. ibm service guide
  15. Excel VBA实例
  16. redis生成自增长ID教程
  17. protege连接mysql_Protege4.0使用说明+问题整理.doc
  18. 学习|OpenCV图片修复函数inpaint
  19. 一种分布式深度学习编程新范式:Global Tensor
  20. matlab中理想开关的作用,选择理想开关应考虑的10个关键因素

热门文章

  1. 计算机考苏州公务员考试,苏州公务员考试难度
  2. AI和计算机会议,CCF推荐人工智能领域的会议和期刊
  3. java 爬虫 sessionid_java爬虫实战之模拟登陆
  4. 软件测试视频教程下载:APP测试类型和方法
  5. 一个鼠标控制2台电脑简单方法
  6. VM14安装CentOS7并配置网络
  7. 汽车质量管理体系IATF 16949和培训及相关的标准(主要是电动汽车)
  8. 全球数字高程数据(DEM)详解,还有地形晕渲、等高线等干货
  9. arcgis绘制shp文件
  10. 一键抠图工具有哪些?这5款亲测好用