用数组实现的顺序栈,完成了出栈入栈功能。

   #include"stdio.h"
typedef int element;
#define max 100
typedef struct Stack{
element data[max];
element bottom;
element top;
}stack,*pStack; //push data into the stack
element push(pStack P,element num)
{
int i=;
if(P->top==P->bottom)
{
printf("stack is empty\n");
return ;
}
++(P->top);
P->data[P->top]=num;
printf("p->top:%d\n",P->top);
} //pop data out of the stack
element pop(pStack P)
{
if(P->top==P->bottom)
{
printf("stack is empty\n");
return ;
}
printf("pop num position:%d pop num :%d\n",P->top,P->data[P->top]);
P->top--;
return ;
} //init a stack
element Init_stack(pStack P,element num)
{
int i=;
P->top=-;
P->bottom=;
for(;i<num;i++)
{
P->data[i]=i;
++(P->top);
printf("data:%d\n",P->data[i]);
}
printf("init stack is finished\n");
return ;
}
//clear a stack
element Clear_stack()
{ }
//get a data from top stack
element Get_topdata()
{ }
//delet a stack
element Delet_stack()
{ }
//print stack's data
element Print_stack(pStack P)
{
int num=;
num=P->top;
while(num>=(P->bottom))
{
printf("stacknum:%d\n",P->data[num]);
--num;
}
}
element main()
{
pStack P;
element *numb=;
P=(pStack)malloc(sizeof(struct Stack));
Init_stack(P,);
push(P,);
push(P,);
push(P,);
push(P,);
//push(P,80);
Print_stack(P);
pop(P);
pop(P);
Print_stack(P);
return ;
}

c语言编程之栈(数组实现)的更多相关文章

  1. c语言编程之栈(链表实现)

    用链表实现栈,完成了出栈入栈功能. #include"stdio.h" typedef int element; //define a struct descirbe a stac ...

  2. [C] 在 C 语言编程中实现动态数组对象

    对于习惯使用高级语言编程的人来说,使用 C 语言编程最头痛的问题之一就是在使用数组需要事先确定数组长度. C 语言本身不提供动态数组这种数据结构,本文将演示如何在 C 语言编程中实现一种对象来作为动态 ...

  3. C语言实现使用动态数组来构造栈结构

    我在面前一篇博客<C语言实现使用静态数组来构造栈结构>中使用了静态数组来模拟栈的操作.静态数组的大小是在代码中写死的.是存储在用户栈上面的,使用起来不灵活.在这篇博客中我会使用动态数组来构 ...

  4. JS数组 编程练习 使用Javascript语言,把以下数组 在页面显示如下图所示的图案

    编程练习 使用Javascript语言,把以下数组 var  arr = ['*','##',"***","&&","****&quo ...

  5. 混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++

    前言 关于混合C#和C++的编程方式,本人之前写过一篇博客(参见混合语言编程:C#使用原生的Directx和OpenGL),在之前的博客中,介绍了在C#的Winform和WPF下使用原生的Direct ...

  6. 第二章 C语言编程实践

    上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...

  7. 华为C语言编程规范

    DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...

  8. Linux C语言编程学习笔记 (1)进程控制入门

    想进行Linux系统开发已经很久了,一直没有付诸实践.今日终于开始学习Linux下的C语言编程,研究一天,终于大概弄明白了Linux系统进程管理的一些基本概念和编程方法,总结下来以方便大家学习和自己实 ...

  9. C++语言编程规范

    前言 这里参考了<高质量C++C 编程指南 林锐>.<google C++编程指南>以及<华为C++语言编程规范>编写了这份C++语言编程规范文档,以合理使用 C+ ...

随机推荐

  1. Sublime_Tip_01

    //JerryWeb //20150601 //WebTool | Sublime ======= Sublime_Tip_01======= 接触了Sublime后,才真正开始爱上了coding # ...

  2. bind() to 0.0.0.0:80 failed (98: Address already in use)

    You can kill it using: sudo fuser -k 80/tcp And then try restarting nginx again: service nginx start

  3. Part 8 Coalesce function in sql server

  4. C#DateTime的用法

    本文较详细地介绍了C#的DateTime对象的使用方法.DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString ...

  5. iOS 自定义view里实现控制器的跳转

    1.view里实现控制器的modal 拿到主窗口的根控制器,用根控制器进行modal需要的modal的控制器 场景:点击自定义view里的按钮实现控制器的modal UIViewController ...

  6. 20141104--SQL,查询习题,约束

    --创建学生信息表:学号,姓名,班级,性别,语文教师,数学教师,英语教师 --创建一个教师表:编号,姓名,课程,性别,出生日期 --创建一个分数表:语文,数学,外语,学号 --查询 语文成绩最高的学生 ...

  7. div 显示与隐藏

    visibility隐藏的对象还保留对象显示时所占的物理空间,display则不保留.可以保存下面的代码看看效果: 具体步骤: 代码示例: <div style="border:1px ...

  8. ArcGIS10中matplotlib画图时的中文设置

    利用GIS的数据批量生成XY的图形图像文件,可以直接使用Python.一般大家都是用matplotlib,中文设置的问题参看了许多内容,结论是对错不一,让我折腾了三天,现总结如下: 1.软件的版本.安 ...

  9. Codevs 1669 运输装备

    时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 德国放松对英国的进攻后,把矛头指向了东北—— ...

  10. 探索VS中C++多态实现原理

    引言 最近把<深度探索c++对象模型>读了几遍,收获甚大.明白了很多以前知其然却不知其所以然的姿势.比如构造函数与拷贝构造函数什么时候被编译器合成,虚函数.实例函数.类函数的区别等等.在此 ...