c语言顺序栈的基本操作
该程序包含了顺序栈的置空、判断是否为空、判断是否为满、入栈、出栈和取栈顶元素等几种操作;
#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语言顺序栈的基本操作相关推荐
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
//顺序栈的基本操作 #include<stdio.h> #define MaxSize 50 typedef int ElemType; //定义栈结构体 typedef struct ...
- C语言——顺序栈(Stack)
定义:栈是限定仅在表尾进行插入或者删除操作的线性表.因此对栈来说,尾端有其特殊含义,称为栈顶(top),相应的表头端称为栈底(bottom).不含元素的空表称为空栈. 栈的特性:栈又称为先进后出的线性 ...
- 停车场管理系统(C语言顺序栈+链栈+链队列)
一.实验目的 1.根据停车场管理系统的要求,利用结构化程序设计方法以及C的编程思想来完成系统的设计,使用数据结构中的栈.队列进行分析: 2.按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用 ...
- 【C++】【数据结构】顺序栈的基本操作(初始化、入栈、出栈、取栈顶元素、遍历输出栈)的算法实现附全代码
C++实现顺序栈的算法+步骤(附全代码): 使用c++完成数据结构顺序栈的基本操作,包括(初始化.入栈.出栈.取栈顶元素.遍历输出栈等),可直接编译运行. 顺序栈的定义如下: #define MAXS ...
- java顺序栈_顺序栈的基本操作(入栈和出栈)
顺序栈的基本操作(入栈和出栈) 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如何使用顺序 ...
- c语言二进制转换算法栈,用C语言顺序栈实现十进制和二进制的转换
用C语言顺序栈实现十进制和二进制的转换 #include #include #include #define M 100 typedef int datatype; typedef struct{ d ...
- c语言顺序栈完整程序,顺序栈的基本操作(C语言)
由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址 但是这种用法好像C并不 ...
- C语言-实现栈的基本操作(顺序栈)
下面用两种方式来构建顺序栈,分别是将top定义为指针类型和将top定义成指针下标两种形式,实现栈的基本操作. 目录 方法一: 1.1结构定义 1.2 完整代码 1.3测试用代码(用来逐步测试以上栈功能 ...
- 顺序栈的基本操作c语言源代码,顺序栈的栈基本操作(C语言版)
1 #include 2 #include 3 #define STACK_INIT_SIZE 100//储存空间初始分配量 4 #define STACKINCREMENT 10//存储空间分配增量 ...
- python 顺序栈及基本操作
顺序栈 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如何使用顺序表模拟栈以及实现对栈中数 ...
最新文章
- c语言中合法的字符型常量是,C语言习题库(带答案)-排版.doc
- 实现php数组编码的转换的类
- linux ora27040,AnyBackup-Oracle 异机恢复任务失败,执行输出提示 ORA-00344、ORA-27040 错误...
- 07 行锁功过:怎么减少行锁对性能的影响? (笔记)
- python list删除元素速度慢_python list(python list删除元素是要注意的坑点)
- python之celery使用详解一
- C#中跨线程操作控件
- php--学习封装类 (一)(操作mysql数据库的数据访问)
- 【ichart】简单的统计图表ichart.js的使用
- win10设置电池养护模式
- Python对word文档进行操作
- 职业书掉落及人物对照
- Simulink基础:基本模块操作2(Gain模块与积分模块)
- ibm service guide
- Excel VBA实例
- redis生成自增长ID教程
- protege连接mysql_Protege4.0使用说明+问题整理.doc
- 学习|OpenCV图片修复函数inpaint
- 一种分布式深度学习编程新范式:Global Tensor
- matlab中理想开关的作用,选择理想开关应考虑的10个关键因素