数组实现堆栈操作
来源:互联网 发布:php魔术方法 编辑:程序博客网 时间:2024/05/21 00:52
感觉自己数据结构学的好慢啊。
感觉用不惯C++的输入输出,其实看我胡扯不如直接去看代码来的实在。
堆栈的在于查看是否满(溢出),或者为空(NULL)
上代码:
//// main.cpp// 数组实现堆栈//// Created by MaLker on 2017/3/20.// Copyright © 2017年 MaLker. All rights reserved.//#include <iostream>//#include <algorithm>#include <string.h>#define Max_Size 1000#define OK true#define NO falseusing namespace std;int Stk[Max_Size],Now_Sit,Max_Lenth;bool Creat_Stak(void){//1r 创造一数组,来模拟堆栈 cout<<"Please enter the max lenth :"; cin>>Max_Lenth; Now_Sit=0; return OK;}bool Pop(void){//2o 从栈的顶端拿出 if (Now_Sit==0) { cout<<"You do not have anything in the Stack\n"; return NO; } //printf("%d\n",Stk[Now_Sit-1]); Now_Sit--; return OK;}bool Push(void){//3u压入一个数字 if (Now_Sit==Max_Lenth) { cout<<"Your Stack is full!!\n"; return NO; } printf("Please input you want push number :"); scanf("%d",&Stk[Now_Sit]); Now_Sit++; return OK;}bool Peak(void){//4e输出顶端 if (Now_Sit==0) { cout<<"You do not have anything in the Stack\n"; return NO; } printf("%d\n",Stk[Now_Sit-1]); Now_Sit--; return OK;}void Operat(void){ printf("**************** Welcome ********************\n"); while (OK) { printf("Please input Operatin :"); char Operat_Signal[Max_Size]; scanf("%s",Operat_Signal); getchar(); int Oper_Sgnl=0; if (Operat_Signal[1]=='R'||Operat_Signal[1]=='r') { Oper_Sgnl=1; } else if (Operat_Signal[1]=='O'||Operat_Signal[1]=='o') Oper_Sgnl=2; else if (Operat_Signal[1]=='U'||Operat_Signal[1]=='u') Oper_Sgnl=3; else if (Operat_Signal[1]=='E'||Operat_Signal[1]=='E') Oper_Sgnl=4; else Oper_Sgnl=0; int IsOK=0; switch (Oper_Sgnl) { case 1: IsOK=Creat_Stak(); break; case 2: IsOK=Pop(); break; case 3: Push(); break; case 4: Peak(); break; default: return ; break; } if (IsOK) { printf("%s SUCCESS!!!\n",Operat_Signal); } else{ printf("%s FALSE!!!\n",Operat_Signal); } }}int main(int argc, const char * argv[]) { Operat(); return 0;}/* Creat bool Push ( const T& item ) ; // 向栈顶压入一个元素bool Pop ( T & item ) ; // 从栈顶弹出一个元素bool Peek ( T & item ) const ; // 存取栈顶元素int IsEmpty ( void ) const { return top = = -1 ; }// 检测栈是否为空int IsFull ( void ) const { return top size-1 ; }// 检测栈是否为满void clear ( void ) { top-1 ; } // 清空栈} ;*/
0 0
- 数组实现堆栈操作
- 13数组实现顺序堆栈的基本操作
- 堆栈的基本操作(用数组实现)
- 静态数组实现堆栈
- 用数组实现堆栈
- 动态数组实现堆栈
- 数组实现堆栈
- 堆栈(数组实现)
- 堆栈的数组实现
- 堆栈用数组实现
- 数组实现堆栈
- 两个数组实现堆栈
- 堆栈的数组实现
- 用数组实现堆栈
- 使用数组实现堆栈
- 数据结构-堆栈-数组实现
- 静态数组实现的堆栈
- 动态数组实现的堆栈
- Andrnoid 使用Glide时ImageView不显示的问题
- queue vector <int>倒序输出
- int,long,long long的范围及使用
- Java 远程调用有道api接口实例
- IntelliJ IDEA JDK tomcat配置
- 数组实现堆栈操作
- mysql上排名sql的写法,类似oracle的rank和dense
- HashMap深度解析(二)
- android更改app主题
- 打赏我
- 日常-新导入的项目添加不到Tomcat中
- Laravel学习7修改密码
- Android开发横竖屏切换
- cookie 自己复习 (web三)