C语言 数据结构 堆栈的压栈出栈实例
来源:互联网 发布:搜淘宝最新版 编辑:程序博客网 时间:2024/05/17 01:29
#include<stdio.h>
#include<malloc.h>
#define stack_init_size 100
#define stackincrement 10
#define overflow 0
#define ok 1
#define error 0
typedef int selemtype; /*定义结构体*/
typedef struct {
selemtype *base;
selemtype *top;
int stacksize;
} sqstack;
int initstack(sqstack &sq) /*初使化堆栈*/
{
sq.base=(selemtype *)malloc(stack_init_size*sizeof(selemtype));
if(!sq.base) return overflow;
sq.top=sq.base;
sq.stacksize=stack_init_size;
return ok;
}
int push(sqstack &sq,selemtype e) /*压栈*/
{
if(sq.top-sq.base>sq.stacksize)
{
sq.base=(selemtype *)realloc(sq.base,(sq.stacksize+stackincrement)*sizeof(selemtype));
sq.top=sq.base+sq.stacksize;
sq.stacksize+=stackincrement;
}
*sq.top++=e;
}
int pop(sqstack &sq,selemtype &e) /*出栈*/
{
if(sq.top==sq.base) return error;
e=*--sq.top;
return ok;
}
int main() /*主程序 压入1到100,然后再弹出*/
{
int e,i;
int a[100];
sqstack sq;
initstack(sq);
for(i=0;i<100;i++)
{
a[i]=i+1;
push(sq,a[i]);
}
for(i=0;i<100;i++)
{
pop(sq,e);
printf("%d",e);
printf("/n");
}
}
- C语言 数据结构 堆栈的压栈出栈实例
- C 语言堆栈的实例
- C语言实现堆栈(栈)的数据结构
- 堆栈数据结构的C语言实现
- 堆栈数据结构的C语言实现
- C语言数据结构之堆栈
- C语言的堆栈
- c语言的堆栈
- 数据结构C语言利用堆栈表达式求值
- 堆栈的c 语言实现
- C语言的堆栈问题
- c语言的堆栈机制
- C语言 堆栈的建立
- C语言堆栈的讨论
- C语言堆栈的区别
- c语言--堆栈的区别
- 堆栈的C语言实现
- C语言数据结构之图的邻接矩阵的应用实例
- Struts2实例
- Problem3
- Sql Server 2005 与Sql Server Mobile(Sql server 2005 mobile Edition)数据同步步骤以及问题解决方案
- 实习笔记(1)
- c 读书心得
- C语言 数据结构 堆栈的压栈出栈实例
- Android入门:It's All About UI(2)
- 0 PV3D四大核心类
- myeclipse 快捷键
- JAVA字符串转日期或日期转字符串
- C++ Primer4 Chapter 8. The IO Library
- flash 游戏设计笔记:切割位图技术
- 支持自定义 体验Windows7中的备份功能
- Linux 下压缩工具