問題分析:
行編輯命令:輸入一段話,若輸入'#'則表示前乙個無效,若輸入'@'則表示這段話作廢。
語言實現:
//標頭檔案部分
#pragma once
#define stack_size 50
typedef char elemtype;
#include#includeusing namespace std;
typedef struct stack
stack;
/bool ful(stack *sta)
bool init(stack *sta)
bool push_stack(stack *sta,elemtype x)
bool pop_stack(stack *sta)
void show_stack(stack *sta)
cout<
}void delete_stack(stack *sta)
//主函式部分
分析:此問題是棧結構的一種應用,理解棧結構後很容易就能解決此問題。
行編輯問題的實現
這個問題主要是解決當使用者發現剛剛鍵入乙個是錯誤字元時,他可以補進乙個 以表示前面乙個字元無效 當發現錯誤較多時可以補進乙個 以表示當前行中的字元均無效。include include define maxsize 128 typedef struct sqstacksqstack void ini...
行編輯器的簡易C 實現
說到行編輯器的實現,其實還是主要運用棧的結構特點,具體理論參考 資料結構 嚴蔚敏著 實現 如下 include using namespace std define max size 100 void lineeditor char c1,int length else if c1 i else i...
棧 行編輯程式
如果遇到 表示後退一格,即前一字元無效,如果遇到 表示前一單詞無效,即退出到空格或所在行頭為止。採用棧實現。輸入 whli ilr e s s 輸入包含若干行,由各種字元構成。輸出 while s 利用描述規則輸出最後的文字內容。seqstack.h ifndef seqstack h define...