C語言資料結構 棧 行編輯程式

2021-07-31 16:55:50 字數 1427 閱讀 7073

/*順序棧標頭檔案:seqstack.h*/

#include

#include

#define stacksize 100

typedef

char datatype;

typedef

struct

seqstack;

void initstack(seqstack *s);//初始化棧

int stackempty(seqstack s);//判斷棧是否為空

int gettop(seqstack s, datatype *e);//取棧頂元素

int pushstack(seqstack *s, datatype e);//入棧

int popstack(seqstack *s, datatype *e);//出棧

int stacklength(seqstack s);//求棧長度

void clearstack(seqstack *s);//清空棧

void initstack(seqstack *s)//將棧s初始化為空棧

int stackempty(seqstack s)//判斷棧是否為空,棧為空返回1,否則返回0

else

} int gettop(seqstack s, datatype *e)

//取棧頂元素,將棧頂元素值返回給e,並返回1表示成功,返回0表示失敗

else

} int pushstack(seqstack *s,datatype e)//進棧操作

//將元素e進棧,元素進棧成功返回1,否則返回0

else

} int popstack(seqstack *s,datatype *e)//出棧操作

else

} int stacklength(seqstack s)//返回棧長度

void clearstack(seqstack *s)//清空棧

typedef

char datatype;

void lineedit();

int main()

void lineedit() // 行編輯程式

ch = getchar(); //讀入下乙個字元

} while (!stackempty(s))

/*棧後進先出,直接出棧字串行相反,所以用陣列倒序輸出*/

for (i = j - 1; i >= 0; i--) //輸出正確的字串行

printf("%c", a[i]);

printf("\n");

clearstack(&s);

}

棧 行編輯程式

如果遇到 表示後退一格,即前一字元無效,如果遇到 表示前一單詞無效,即退出到空格或所在行頭為止。採用棧實現。輸入 whli ilr e s s 輸入包含若干行,由各種字元構成。輸出 while s 利用描述規則輸出最後的文字內容。seqstack.h ifndef seqstack h define...

棧 行編輯程式

include include include include typedef char datatype include seqstack.h void lineedit void main void lineedit 行編輯程式 ch getchar 讀入下乙個字元 while stackemp...

資料結構 棧(C語言)

資料結構 棧 c語言 功能 建棧 出棧 壓棧 判斷棧是否為空 include include define ele int typedef struct stack stack stack newstack 初始化棧 int push stack s,ele value 壓棧 int pop sta...