当前位置: 首页 > news >正文

堆栈的简单实现,以及简单操作

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

/*
 * stack.c
 *
 *  Created on: Dec 4, 2012
 *      Author: fsxchen
 *      FILO的线性表,线性表(数组实现的简单的栈)
 */


#include 

#define MAXSIZE 10
typedef struct STACK
{
	int data[MAXSIZE];                 /*数据*/
	int top;                           /*栈顶元素*/
}SqStack;                              /*堆栈结构体*/

void InitStack(SqStack *space)               /*初始化*/
{
	space->top = -1;
}

void Push(SqStack *s)      /*入栈*/
{
	int val;
	printf("请输入你要入栈的值");
	scanf("%d",&val);
	if(s->top == MAXSIZE)
		printf("Error");
	s->top++;
	s->data[s->top] = val;
}

int Pop(SqStack *s)
{
	int i;
	if(s->top == -1)
	{
		printf("ERROR");
		return -1;
	}
	i = s->data[s->top];
	s->top--;
	return i;
}
int main()
{
	SqStack sta;
	InitStack(&sta);
	printf("%d", sta.top);
	Push(&sta);
	printf("%d", sta.top);
	return 0;
}

注意,用数组实现堆栈,还是比较简单的,堆栈是一种非常有用的数据结构,系统中递归调用的参数存放、逆波兰式计算四则运算等等,都是非常重要的!

转载于:https://my.oschina.net/fsxchen/blog/108482

相关文章:

  • ASP.NET MVC 过滤器(五)
  • 设置隐式动画播放时间
  • Linux的企业-Hadoop的多节点配置
  • IP地址的正则表达式
  • [CTO札记]盛大文学公司名称对联
  • Linux 各文件夹作用
  • Groundwork:响应式 HTML5,CSS JavaScript 工具包
  • 主机安全检测nessus的安装以及配置
  • Android应用程序组件Content Provider的启动过程源代码分析(7)
  • ipv6
  • Docker--------registry私有仓库搭建 [ Http ]
  • 实战:Windows Server 2008 活动目录 传送和争夺操作主控角色
  • AIX 5.3 Install Oracle 10g RAC 错误集锦--9i RAC present
  • All Our N-gram are Belong to You
  • 域用户权限|运行软件
  • 2017年终总结、随想
  • Android开源项目规范总结
  • CentOS 7 修改主机名
  • ES6系统学习----从Apollo Client看解构赋值
  • JavaScript学习总结——原型
  • learning koa2.x
  • Spring框架之我见(三)——IOC、AOP
  • 深度解析利用ES6进行Promise封装总结
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 推荐一个React的管理后台框架
  • 一个完整Java Web项目背后的密码
  • 你对linux中grep命令知道多少?
  • ​水经微图Web1.5.0版即将上线
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #laravel 通过手动安装依赖PHPExcel#
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (23)Linux的软硬连接
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • .bat批处理出现中文乱码的情况
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 按比例显示图片的缩略图
  • .net6使用Sejil可视化日志
  • /proc/vmstat 详解
  • ?
  • @JsonFormat与@DateTimeFormat注解的使用
  • [1] 平面(Plane)图形的生成算法
  • [Angular 基础] - 数据绑定(databinding)
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [HAOI2016]食物链
  • [iOS]随机生成UUID通用唯一识别码
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?
  • [js] 正则表达式
  • [LeetBook]【学习日记】获取子字符串 + 颠倒子字符串顺序
  • [LeetCode] 196. 删除重复的电子邮箱
  • [LeetCode周赛复盘] 第 310 场周赛20220911
  • [LOJ 6213]「美团 CodeM 决赛」radar
  • [Oh My C++ Diary]结构体变量的声明