栈实现行编辑器
来源:互联网 发布:学粤语软件 编辑:程序博客网 时间:2024/05/23 19:17
睡觉前总算完成了!!
# include <stdio.h># include <stdlib.h># include <malloc.h># define STACK_INIT_SIZE 20# define STACKINCREMENT 10typedef struct Stack{char * base;char * top;int stacksize;}* PSTACK, STACK;void InitStack (PSTACK pS){pS->base = (char *)malloc(sizeof(char) * STACK_INIT_SIZE);if (!pS->base){printf("内存分配失败!\n");exit(-1);}pS->top = pS->base;pS->stacksize = STACK_INIT_SIZE;return;}void Push (PSTACK pS, char ch){if (pS->top - pS->base == pS->stacksize - 1){pS->base = (char *)realloc(pS->base, pS->stacksize + STACKINCREMENT);if (!pS->base){printf("内存分配失败!\n");exit(-1);}pS->stacksize += STACKINCREMENT;}*pS->top++ = ch;return;}void Pop (PSTACK pS){if (pS->top != pS->base){--pS->top;--pS->stacksize;}return;}void Clear (PSTACK pS){pS->top = pS->base;return;}void Traverse (PSTACK pS){PSTACK p = pS;while (p->top != p->base){printf("%c", *pS->base++);}return;}int main(void){char ch;STACK s;InitStack(&s);printf("开始输入:");do {ch = getchar();if (ch == '#'){Pop(&s);}else if (ch == '@'){Clear(&s);}else{Push(&s, ch);}} while ('\n' != ch);printf("------------------------\n输入结果:");Traverse(&s);return 0;}
0 0
- 栈实现行编辑器
- C语言栈实现行编辑器
- 用栈实现简单的行编辑器
- 利用栈实现一个编辑器
- 行编辑器的简易C++实现
- 栈之行编辑器
- 栈 行编辑器 缓冲区
- CBCGPEditCtrl实现编辑器功能
- 实现一个所见即所得编辑器
- PHP_编辑器FCKeditor_实现
- QT实现文本编辑器
- jQuery实现行号编辑器
- 实现代码编辑器
- java实现文本编辑器
- qml 实现文本编辑器
- 贴花编辑器实现细节
- 基于tkinter实现编辑器
- kindeditor插件实现编辑器
- ubunt14.04 jd-gui
- Jquery多选框互相内容交换
- DP 简单题 之 poj 1163
- android手机reboot流程分析
- JavaScript中Web应用程序事件处理
- 栈实现行编辑器
- 字符串循环右移
- hibernate 批量保存数据
- HDU1231 最大连续子序列(动态规划)
- Linux分区
- 一劳永逸的解决tomcat中文编码request请求
- jquery radio 取值 取消选中 赋值
- ecplise 连接mysql数据库
- 七种寻址方式