利用静态数组实现栈 c语言
来源:互联网 发布:sql用于授权语句的是 编辑:程序博客网 时间:2024/06/01 11:00
#include<stdio.h>#include<malloc.h>//栈的大小 #define MaxSize 10//数据类型 #define STACK_TYPE inttypedef struct Stack{STACK_TYPE data[MaxSize];int top;}STACK,* PSTACK;//是否为空 bool isEmpty(PSTACK);//是否满 bool isFull(PSTACK);//初始化栈 PSTACK initial(PSTACK);//遍历栈 void traverse(PSTACK);//出栈 int pop(PSTACK);//入栈 bool push(PSTACK,int);int main(void){ PSTACK pStack ;pStack = initial(pStack);push(pStack,2);push(pStack,4);push(pStack,7);push(pStack,9);push(pStack,5);push(pStack,6);STACK_TYPE a = pop(pStack);printf("出栈的值为%d\n",a);a = pop(pStack);printf("出栈的值为%d\n",a);traverse(pStack);} PSTACK initial(PSTACK pStack){pStack = (PSTACK)malloc(sizeof(STACK));if(pStack==NULL){return false;}pStack->top = -1;//printf("%d",pStack->top);return pStack;}void traverse(PSTACK pStack){int i;for(i=0;i<((pStack->top+1));i++){printf("%d\n",pStack->data[i]);}}bool push(PSTACK pStack,STACK_TYPE val){if(isFull(pStack)){return false;}else{pStack->data[pStack->top+1]=val;pStack->top++;return true;}}STACK_TYPE pop(PSTACK pStack){STACK_TYPE temp;if(isEmpty(pStack)){exit(-1);}else{temp = pStack->data[pStack->top];pStack->top--;return temp;}}bool isFull(PSTACK pStack){if(pStack->top==MaxSize){return true;}else{return false;}}bool isEmpty(PSTACK pStack){if(pStack->top==-1){return true;}else{return false;}}
0 0
- 利用静态数组实现栈 c语言
- C语言实现使用静态数组来构造栈结构
- 静态数组实现队列(C语言)
- 静态数组实现循环队列 c语言
- C语言通讯录(利用数组实现)
- C语言实现使用静态数组实现循环队列
- c语言静态数组创建栈
- c语言数组方式实现静态循环队列
- 利用栈实现队列(C语言实现)
- 如何利用C语言实现数组复制的功能
- 栈数组实现实现文件C语言
- C语言利用栈实现Polish计算器
- C语言:利用栈实现进制间转换
- 数组C语言实现
- 【C语言】C语言实现静态通讯录
- 静态链表用C语言实现
- 栈数组实现头文件C语言
- 栈的C语言 数组实现
- index
- 单词进行倒置
- Fibonacci
- 757 期末考试
- Resume
- 利用静态数组实现栈 c语言
- 关于8 1的题解
- 浅谈Thrift内部实现原理
- C语言之函数调用19—总结
- Leetcode #83 Remove Duplicates from Sorted List
- Activity技巧三重奏之三:启动活动的最佳写法
- NYOJ 485 A*B Problem
- java基础之用linkedlist存储一副牌,完成洗牌功能
- C++基础---动态数组