利用棧做行編輯器

2021-06-10 07:22:56 字數 989 閱讀 3146

問題**

#include#include#include#includeusing namespace std;

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

typedef char status;

typedef char selemtype;

#define stack_init_size 100

#define stackincrement 10

typedef structsqstack;

status initstack(sqstack &s)//inintstack

status gettop(sqstack s,selemtype &e)//grttop

status push(sqstack &s,selemtype e)

*s.top++=e;

return ok;

}//push

status pop(sqstack &s,selemtype &e)

e=*--s.top;

return ok;

}//pop

status clearstack(sqstack &s)//clearstack

status destroystack(sqstack &s)

void lineedit()

case '@':

default :

}ch=getchar();

}if(s.top != 0)clearstack(s);

ch = getchar();

} destroystack(s);}

int main()

Linux sed行編輯器

基本工作模式 sed 命令預設列印匹配到的內容到螢幕 按照給定的指令碼命令,按行讀取文字中的內容,讀取到pattern space空間中進行編輯操作,未完成的編輯操作放到hold space 空間中,pattern space 再處理其他行,再次處理編輯時,就會從hold space 讀取到patt...

棧的應用(二)行編輯器程式

1 每行輸入輸出陣列前推入棧中暫存。2 檢查輸入的字元,如果是 則從棧頂刪去乙個字元 如果是 則清空棧。3 發現使用者鍵入回車就將當前棧中的字元從棧尾到棧頂推到輸出陣列。4 重複上述操作直到使用者輸入eof 即 ctrl z define stack init size 100 define sta...

資料結構實驗之棧 行編輯器

time limit 1000ms memory limit 65536k 有疑問?點這裡 乙個簡單的行編輯程式的功能是 接受使用者從終端輸入的程式或資料,並存入使用者的資料區。由於使用者在終端上進行輸入時,不能保證不出差錯,因此,若在編輯程式中,每接受乙個字元即存入使用者資料區 的做法顯然不是最恰...