C语言 简单的栈
//简单的栈 #include<stdio.h>
#include<stdlib.h> //栈的介绍:栈先进后出,一般用于将数据逆序输出
//栈一般只有四种方法--进栈,出栈,清空,判断栈是否为空 //定义栈的结构 #define datatype int//定义栈内数据类型
#define N 10//定义数组的大小
struct easystacknode{
int top;//栈顶位置
datatype data[N];
}; typedef struct easystacknode EStack; //初始化栈
EStack selfstack = { -, { } }; //判断栈是否为空
int isempty();
//进栈
int push(datatype num);
//出栈
int pop();
//清空
void setempty(); void main(){
//练习:十进制转换成二进制
int m = ;
while (m!=){
//进栈
push(m % );
m = m / ;
}
//打印出对应的二进制数据
while (!isempty()){//直到栈为空时跳出循环
printf("%d", pop());
}
printf("\n");
system("pause");
} //判断栈是否为空1,1为空,0为非空
int isempty(){
if (selfstack.top==-)//表示栈里一个元素也没有
{
return ;
}
else{
return ;
}
} //进栈
int push(datatype num){
//先判断栈是否溢出
if (selfstack.top==N-)
{
//栈已满
return ;
}
else{
selfstack.top += ;//栈顶坐标+1
selfstack.data[selfstack.top] = num;
return ;
}
} //出栈
int pop(){
//判断栈是否为空
if (isempty())
{
return -;
}
else{
selfstack.top -= ;//栈顶坐标-1
return selfstack.data[selfstack.top + ];
}
} //清空
void setempty(){
selfstack.top=-;//栈顶坐标置为-1
}

总结:数组栈容量有限制,不可以无限大
C语言 简单的栈的更多相关文章
- C语言简单实现链栈基本几个功能(适合新手看,大神可指正)
		接着上一次的顺序栈,今天我记一下链栈,因为我也是刚学不久,有些地方也稍稍理解不了,所以,一起共勉.我会用我自己结合教材上画的图,争取跟代码一起结合,用文字和图最大化的解释代码,这样的话 ... 
- C语言简单实现链栈基本几个功能
		接着上一次的顺序栈,今天我记一下链栈,因为我也是刚学不久,有些地方也稍稍理解不了,所以,一起共勉.我会用我自己结合教材上画的图,争取跟代码一起结合,用文字和图最大化的解释代码,这样的话 ... 
- Go语言是如何处理栈的
		转自:http://tonybai.com/2014/11/05/how-stacks-are-handled-in-go/ Go 1.4Beta1刚刚发布,在Go 1.4Beta1中,Go语言的st ... 
- C++语言实现顺序栈
		C++语言实现顺序栈 在写C语言实现顺序栈的时候,我已经向大家介绍了栈的特点以及介绍了栈的相关操作,并利用C语言实现了相关算法.在这里小编就不在继续给大家介绍了,需要温习的可以去我的博客看看.在这篇博 ... 
- C语言实现顺序栈以及栈的特点
		什么是栈? 同顺序表和链表一样,栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构,如下图所示. 从上图我们看到,栈存储结构与之前所学的线性存储结构有所差异,这缘于栈对数据 ... 
- 如何轻松使用 C 语言实现一个栈?
		什么是数据结构? 数据结构是什么?要了解数据结构,我们要先明白数据和结构,数据就是一些int char 这样的变量,这些就是数据,如果你是一个篮球爱好者,那么你的球鞋就是你的数据,结构就是怎么把这些数 ... 
- Perl语言——简单说明
		Perl语言——简单说明 一.简单说明 Perl语言全称:实用摘录与报表语言|病态折中式垃圾列表器.Perl名称并不是缩写词,而是个溯写字. Perl语言历史:Larry Wall(拉里·沃尔)20世 ... 
- C++编程练习(4)----“实现简单的栈的链式存储结构“
		如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ... 
- C++编程练习(3)----“实现简单的栈的顺序存储结构“
		栈(stack)是限定仅在表尾进行插入和删除操作的线性表. 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom). 栈又称为后进先出(Last In First Out)的线性表,简 ... 
随机推荐
- 安卓开发_浅谈Android动画(四)
			Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1. ValueAnimator 基本属 ... 
- Servlet API遍程常用接口和类
			本文主要总结Servlet API遍程常用接口和类 Servlet API http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html ... 
- 【转】IOS开发中图片资源使用png还是jpg格式
			对于iOS本地应用程序来说最简单的答案就是始终使用PNG,除非你有非常非常好的理由不用它. 当iOS应用构建的时候,Xcode会通过一种方式优化.png文件而不会优化其它文件格式.它优化得相当的好 他 ... 
- iOS之 动态热修补技术JSPatch
			所谓动态热修补就是把能够导致app 崩溃的严重bug,提交新版本到appstore 审核速度太慢影响用户使用,这时候就可以利用 JSPatch 可以让你用 JavaScript 书写原生 iOS AP ... 
- android 隐藏标题栏
			在onCreate()方法中添加如下代码: public class FirstActivity extends Activity { @Override protected void onCreat ... 
- 2.1.12 Next Permutation 下一个字典序数组
			对当前排列从后向前扫描,找到一对为升序的相邻元素,记为i和j(i < j).如果不存在这样一对为升序的相邻元素,则所有排列均已找到,算法结束:否则,重新对当前排列从后向前扫描,找到第一个大于i的 ... 
- Java 读取txt文件,读取结果保存到数据库
			需求:有一个很大的txt文件(1,000,000条数据),从txt中读取有用数据库后保存到Oracle数据库中 利用Java实现: 1.加载文件后一行一行读取 2.数据库连接后按行插入到数据库 pac ... 
- 【故障处理】IMP-00010错误 12C的dmp文件导入11G
			[故障处理]IMP-00010错误 12C的dmp文件导入11G 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ... 
- windows 下my.ini的配置优化
			线上有若干WIN环境下的MySQL,需要进行优化配置,列出以下参数方便查阅 # For advice on how to change settings please see # http://dev ... 
- Provides PHP completions for Sublime Text
			来源:https://packagecontrol.io/packages/PHP%20Completions%20Kit php-completions php-completions plugin ... 
