行编辑程序.cpp

来自「都是自己编写的常用算法的事例,本人础作. 里面有:哈密尔顿环,皇后问题,图的着」· C++ 代码 · 共 41 行

CPP
41
字号
#include"SqStack.h"
#include<stdio.h>
void main(){
	//利用字符栈S,从终端接受一行经过处理输出。
    //约定退格符是#,退行符@。
	//例如,输入:whli##ilr#e(s#*s)
	//               outcha@putchar(*s=#++);
	//则实际上应该是下列两行:
	//             while(*s)
	//                 putchar(*s++);
	void visit(SElemType e);
	SqStack S;
	InitStack(S);
	char c;
	c=getchar();   
	while(c!='-'){    //c不是结束符
	
		while(c!='-'&&c!='\n'){
			
			switch(c){
			    case'#':Pop(S,c);break;//如果栈空则什么都不做
				case'@':{S.top=S.base;break;}//clearstack
				default:Push(S,c); break;  //入栈
			}//switch

			c=getchar();
		
		}//while

        StackTraverse(S,visit);
		cout<<endl;
		S.top=S.base;
        if(c!='-') c=getchar();

	}//while
}

void visit(SElemType e){
	 cout<<e;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?