栈的C语言实现(数组)
来源:互联网 发布:搜狗优化 编辑:程序博客网 时间:2024/05/01 17:12
//栈的C语言实现(数组) #include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */#define EmptyStack -1//栈的数组结构 typedef struct _STACK_ARRAY{int size;int capacity;int top;int *array;}STACK_ARRAY;//创建空栈 STACK_ARRAY *Create(int size){STACK_ARRAY *stack;stack=(STACK_ARRAY*)malloc(sizeof(STACK_ARRAY));if(stack==NULL){printf("创建失败!\n");exit(-1);}else{stack->array=(int*)malloc(sizeof(int)*size);stack->size=size;stack->capacity=0;stack->top=EmptyStack;}}//入栈 void Push(STACK_ARRAY *stack,int element){if(stack->capacity==stack->size){printf("栈已满!\n");exit(-1);}else{stack->array[++stack->top]=element;stack->capacity++;}}//出栈 void Pop(STACK_ARRAY *stack){int *temp;if(stack->top==EmptyStack){printf("空栈!\n");exit(-1); }else{*temp=stack->array[stack->top];stack->top--;stack->capacity--;}}//打印栈 void Printf(STACK_ARRAY *stack){int i=0;if(stack->top==EmptyStack){printf("空栈!\n");exit(-1); }else{while(stack->top!=EmptyStack){printf(" %d ",stack->array[stack->top--]);}printf("\n");}}int main(int argc, char *argv[]) {STACK_ARRAY *stack;int i=0;stack=Create(10);while(i<5){Push(stack,i++);}Printf(stack);Pop(stack); Printf(stack);return 0;}
0 0
- 栈的C语言实现(数组)
- 栈的C语言 数组实现
- 栈的C语言实现(链表和数组)
- 数组的实现---C语言
- C语言实现栈(数组)
- 使用数组实现栈(C语言)
- 栈(stack)C语言链表实现&&数组实现
- 栈数组实现实现文件C语言
- 数组C语言实现
- C语言------栈的初体验(数组实现)
- 1.数据结构(C语言)---自定义数组的简单实现
- 一维动态数组的实现(c语言)
- 队列的C语言实现(循环数组结构)
- 队列的数组实现(C语言描述)
- 基于数组的队列实现(C语言)
- C语言动态数组的完整实现
- C语言动态数组的完整实现
- C语言中动态数组的实现
- Best practice: Use the tap networking option in QEMU
- 文章标题
- office系列文档的在线预览解决方案 - 在linux平台下转为pdf
- IOS 视频框架
- JAVA基础----java中E,T,?的区别?
- 栈的C语言实现(数组)
- 网络请求详解
- 服务器证书转换命令(openssl+keytool工具)
- android程序启动画面之Splash总结
- Xamarin.Android提示找不到mono.Android.Support.v4
- Android okhttp详解
- 機器學習基石(Machine Learning Foundations) 机器学习基石 手写版笔记大全
- 源字符串插入最少字符生成回文串
- Linux下的屏保设置 xset s 与 xset dpms