顺序栈
来源:互联网 发布:ubuntu wget类似 编辑:程序博客网 时间:2024/04/28 13:05
/*============================================================================ Name : Exercise.cpp Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Description : HeapAdjust in C, Ansi-style, Compile by Code:Block ============================================================================*/#include <stdio.h>#include <stdlib.h>#define STACKSIZE (30)typedef struct Stack{ int Top; int Data[STACKSIZE];}Stack;/**************************************************************************** * Function : InitStack * Description : Initialize Stack * Input : Stack Pointer * Return : Void *****************************************************************************/void InitStack(Stack* MyStack){ MyStack->Top=-1;}/**************************************************************************** * Function : DestoryStack * Description : Destory Stack * Input : Stack Pointer * Return : Void *****************************************************************************/void DestoryStack(Stack* MyStack){ MyStack->Top=-1;}/**************************************************************************** * Function : Push * Description : Push Stack * Input : Stack Pointer,Member to Push* Return : Success:1,Fail:0 *****************************************************************************/int Push(Stack *MyStack,int Member){ if(MyStack->Top==STACKSIZE) { printf("Have no space.\n"); return 0; } MyStack->Data[++MyStack->Top]=Member; return 1;}/**************************************************************************** * Function : Pop * Description : Pop Stack * Input : Stack Pointer,Member to Pop* Return : Success:1,Fail:0 *****************************************************************************/int Pop(Stack* MyStack){ int Member; if(MyStack->Top==-1) { printf("Empty Stack !\n"); return 0; } printf("%d\n",Member=MyStack->Data[MyStack->Top--]); return 1;}/**************************************************************************** * Function : GetTop * Description : Get Top Of Stack * Input : Stack Pointer* Return : The Member Of Top Of Stack*****************************************************************************/int GetTop(Stack* MyStack){ return (MyStack->Data[MyStack->Top]);}/**************************************************************************** * Function : GetNumberOfElementsOfStack * Description : Get Number Of Elements Of Stack * Input : Stack Pointer* Return : The Nember Of Current Stack*****************************************************************************/int GetNumberOfElementsOfStack(Stack* MyStack){ return (MyStack->Top);}/**************************************************************************** * Function : IsEmptyStack * Description : Judge The Stack is Empty or Not* Input : Stack Pointer,Member to Pop* Return : IsEmpthStack:1,NotIsEmpthStack:0 *****************************************************************************/int IsEmptyStack(Stack* MyStack){ if(MyStack->Top==-1) { return 1; } return 0;}int main(){ Stack MyStack; int i; InitStack(&MyStack); printf("Test for Push: \n"); for(i=0; i<STACKSIZE; i++) { if(Push(&MyStack,i)) { printf("%d,",MyStack.Data[MyStack.Top]); } } printf("\nTest for Pop: "); Pop(&MyStack); printf("\nTest for GetTop: "); printf("%d\n",GetTop(&MyStack)); printf("\nTest for GetNumberOfElementsOfStack: "); printf("%d\n",GetNumberOfElementsOfStack(&MyStack)); printf("\nTest for IsEmptyStack: "); printf("%d\n",IsEmptyStack(&MyStack)); printf("\nTest for DestoryStack: "); DestoryStack(&MyStack); printf("%d\n",IsEmptyStack(&MyStack));}
0 0
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 顺序栈
- 编程方式读取硬盘信息 - MBR以及各个分区信息
- codeforces356A Knight Tournament 并查集或线段树成端更新
- Embedding data into JPEG
- 继承 内存分布
- vs2010+opencv调试
- 顺序栈
- Switch 可用于字符串
- 微机接口技术与汇编语言上机实验报告_汇编初步(intel8086)
- uva10129
- java开发必备利器
- 自定义ImageView显示gif图片
- iis设置外网网站
- vi 常用命令行
- vc 浮点数转换为内存十六进制字符串