自己实现的栈----有图形界面的哦
2015-12-03 12:36
225 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/caizilixin1/article/details/50159019
今天闲着没事写个简单的数组栈,突然感觉纯文字显示不是特别直观,就稍作修改弄了个控制台下的字符图形界面。
感觉用这个去教学生,学生应该能学会。
代码特别简单,就一个push函数,一个pop函数,数组和栈顶是全局的,这样就不用传递参数了。
代码如下:
/************************************************** * 日期 2015年12月3日 * 作者 李欣 * 目的 用数组实现栈 ***************************************************/ #include <stdio.h> //定义全局数组的意义在于可以不用传入参数 #define MAXSIZE 10 int stack[MAXSIZE]; int top = -1; //压栈 void push(int value) { if(top >= MAXSIZE) { printf("栈满\n"); } else { top++; stack[top] = value; } } //出栈 void pop() { int tmp; if(top == -1) { printf("栈空\n"); } else { tmp = stack[top]; top--; } } //文字打印 void print_stack() { int i = 0; if(-1 == top) { printf("栈中没有任何元素"); } else { for(i=0;i<=top;i++) { printf("%-5d",stack[i]); } } printf("\n"); } //图形打印 void show_stack() { int i; for(i=10;i>=0;i--) { printf(" +----------------------+\n"); if(top>=i) { if(top == i) { printf(" top----->| %d |\n",stack[i]); } else { printf(" | %d |\n",stack[i]); } } else { printf(" | |\n"); } } printf(" +======================+\n"); if(-1 == top) { printf(" top-----> \n\n\n"); } } int main() { push(3); push(4); push(5); show_stack(); //print_stack(); pop(); pop(); show_stack(); //show_stack(); pop(); push(5); //show_stack(); return 0; }
相关文章推荐
- linux如何实现开机加载完图形界面后自动运行自己写的一个程序
- Python GUI 2048的图形界面实现(二)
- XShell+Xmanager实现在XShell中显示远程服务器的图形界面
- CentOS下安装KDE/GNOME+VNC实现远程图形界面管理(转)
- Qt精彩实例(4)& 自己实现的软件管家界面
- 替换GINA.DLL实现自己的登陆界面
- 贴边隐藏、图形窗体等效果的实现:一个模仿QQ界面的MSN界面
- java 实现连连看,有空做成图形界面的
- Java---文件的切割与合并,已经实现图形界面(工具)
- XShell+Xmanager实现在XShell中显示远程服务器的图形界面
- C++实现图形界面时钟表盘代码
- UDP实现简单图形界面多线程聊天
- 如何实现自己的ollydbg调试器 (1) 界面的实现
- Linux下“英文控制台 中文图形界面”的实现
- Java---文件的切割与合并,已经实现图形界面(工具)
- [分享]在ubuntu9.10下实现开机自动登录并运行自己的图形程序
- PyQT 入门(2):实现自己的界面类
- 替换GINA.DLL实现自己的登陆界面uiu
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- JQuery实现个性化,可以拖拽 自定义自己的界面(二)