/*順序棧標頭檔案: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...