栈的应用之行编辑程序
来源:互联网 发布:手机淘宝有好货报名 编辑:程序博客网 时间:2024/05/16 10:48
思路:
栈作为输入缓冲区,每当从终端了接受一个字符之后先做如下判别:
1:若是退格符#,从栈顶删去一个元素,即出栈Pop;
2:若是退行符@,将字符栈清空,即clear;
3:若不是#或@,即为有效字符,将该字符入栈,即Push;
顺序栈的代码:点击打开链接
只需将 typedef int ElemType -------->>> typedef char ElemType
#include"stack.h"void LineEdit(){Stack st;InitStack(&st);char item;int ch = getchar();while(ch != EOF)//全文结束符{/*确定的某行编辑*/while(ch != EOF && ch != '\n')//输入的字符不是结束符和回车符(行结束符){switch(ch){/*退格符(非空时出栈)*/case '#':if(!IsEmpty(&st))Pop(&st,&item);break;/*退行符(清空栈)*/case '@':clear(&st);break;/*有效字符(未满时入栈)*/default:if(!IsFull(&st)) Push(&st,ch);break;}//switchch = getchar();}//while/*将字符栈的内容送至代用过程的缓冲区:此处仅仅将其打印出来*/int i;cout<<"the content is:";for(i = 0;i<=st.top-1;++i){cout<<st.base[i];}cout<<endl;clear(&st);/*全文未结束输入:进行下一行编辑*/if(ch != EOF)ch = getchar();}/*调用完之后,销毁栈,防止内存泄露*/destory(&st);}//LineEditint main(){LineEdit();return 0;}
0 0
- 栈的应用之行编辑程序
- 栈的应用之-----行编辑程序
- 栈的应用之行编辑程序
- 栈的应用之行编辑程序
- 栈的应用—行编辑程序
- C_栈的应用----行编辑程序
- 栈应用--行编辑程序
- 堆栈应用之行编辑程序
- 栈的应用举例——行编辑程序
- 【数据结构】栈的应用--行编辑程序(c++)
- 栈的应用——行编辑程序
- 数据结构 P50 算法实现 栈的应用-行编辑程序
- 堆栈的应用--行编辑程序
- 数据结构(8)--栈的应用之行编辑程序、括号匹配检验、数制转换、hanio塔问题
- 栈应用之二行编辑
- 数据结构题典022:栈的应用——行编辑程序(C语言版)
- 栈的应用1:数制转换、括号匹配检验和行编辑程序
- 数据结构-C语言 栈的简单应用——行编辑程序
- 【数据结构】回顾表、栈、队列
- android图文列表
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- Java知识整理——Servlet&JSP
- 黑马程序员------------List,Set集合
- 栈的应用之行编辑程序
- Java知识整理——异常处理
- textarea默认值问题
- ReLUs deep learning NN 的激活函数
- 从flask中抽离出解析配置文件的模块
- nyoj-520-最大素因子
- 迅雷thunder://地址与普通url地址转换
- plsql的安装及使用
- Java基础——其他对象(System、Runtime、Date、Calendar、Math)