博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆C数组实现
阅读量:6939 次
发布时间:2019-06-27

本文共 1543 字,大约阅读时间需要 5 分钟。

堆栈是一个最后出来该数据结构.

栈的基本操作包含:入栈,出栈,初始化栈,清空栈,遍历栈.

C代码例如以下:

#include 
#define MaxSize 20typedef int ElemType;typedef struct stack{ ElemType Data[MaxSize]; int top;}Stack;//初始化栈void InitStack(Stack *S){ S->top=-1;}//入栈void PushStackValue(Stack *S){ printf("Input the Value of stack member:\n(0-exit)\n"); int value; printf("Please input the 1st value of stack:\n"); scanf("%d",&value); S->Data[++S->top]=value; while(value) { S->top++; printf("Please input the %dst value of stack:\n",S->top+1); scanf("%d",&value); S->Data[S->top]=value; }}//出栈void PopStackValue(Stack *S){ if(S->top>=0) { printf("the stack %dst value pop out: %d\n",S->top+1,S->Data[--S->top]); } else { printf("The Stack is empty\n"); }}//推断栈空void IsEmpty(Stack *S){ if(S->top==-1) { printf("The Stack is empty.\n"); } else { printf("The stack is not empty.\n"); }}//清空栈void ClearStack(Stack *S){ S->top=-1;}//遍历栈void ScanStack(Stack *S){ int i; int len=S->top-1; int StackArray[len]; for(i=len;i>0;i--) { StackArray[i]=S->Data[i--]; } printf("The all stack member(from top to bottom) is:\n"); while(len>=0) { printf("%d ",S->Data[len--]); } printf("\n");}void main(){ Stack S; InitStack(&S); PushStackValue(&S); ScanStack(&S); IsEmpty(&S); PopStackValue(&S); PopStackValue(&S); PopStackValue(&S); PopStackValue(&S);}

执行结果例如以下:

转载请注明:刘

版权声明:本文博客原创文章。博客,未经同意,不得转载。

你可能感兴趣的文章
Nginx日志过滤 使用ngx_log_if不记录特定日志
查看>>
Android 主界面长按创建快捷方式
查看>>
R 语言消除pdf图片的空白
查看>>
C语言之文件操作06——写数据到文本文件遇0停止
查看>>
ASP.NET获取客户端IP/用户名等信息
查看>>
怎样清空文件上传控件里的选定文件(路径)
查看>>
url转义
查看>>
畅通project
查看>>
jsp 传值jsp 数据库 乱码解决的攻略 全套
查看>>
SpringCloud的服务注册中心(二)注册中心服务端和两个微服务应用客户端
查看>>
javaScript 设计模式之中介者模式示例
查看>>
classes目录中没有class文件的一个原因
查看>>
微信公众平台开发 一 账号类别与申请
查看>>
取指定的字符串,字符串里面有汉字和字母
查看>>
华为招聘机试整理10:实现字符串中子字符串的替换
查看>>
VMware虚拟机上安装linux和克隆
查看>>
Python的open函数
查看>>
IDEA在debug时修改变量值
查看>>
Dell poweredge r210进BIOS改动磁盘控制器(SATA Controller)接口模式
查看>>
Go 1.5keyword搜索文件夹、文件、文件内容_修复一个小BUG
查看>>