#include #define maxsize 50
#include#include #include using namespace std;
typedef char elemtype;
typedef struct //佇列的結構
sqqueue;
//初始化佇列
void initqueue(sqqueue * &q)
//銷毀佇列
bool destroyqueue(sqqueue * q )
//判斷佇列是否為空的
bool queueempty(sqqueue * q )
//進佇列
bool enqueue(sqqueue * &q, elemtype e )
//出佇列
bool dequeue(sqqueue * &q ,elemtype &e )
typedef struct //順序棧的結構
sqstack ;
//初始化棧
void initstack (sqstack * &s )
//銷毀棧
void destroystack(sqstack * &s )
//判斷棧是否為空
bool stackempty(sqstack * s )
//進棧
bool push(sqstack * & s ,elemtype e)
//出棧
bool pop(sqstack * & s ,elemtype & e )
//取棧頂元素
bool gettop(sqstack *s ,elemtype & e )
int main()
bool p=true ;
int j;
while( jelse
}destroyqueue(q);
destroystack(s);
if(p)
printf("這是回文字元\n");
return 0;
}
基於棧的回文字元序列判斷
include define maxsize 10000 includeusing namespace std typedef struct sqstack int initstack sqstack s int push sqstack s,char e if s.top s.base s.sta...
棧的簡單應用 判斷回文字元
棧是一種後進先出的資料結構,它只能在一端進行插入和刪除操作,通常把它叫做top,類似於我們吃薯片的過程,你是不是先從最頂端開始吃的呢?判斷回文就是棧的乙個典型用法。所謂回文,就是左右對稱的結構,那麼我們只需要將其一半輸入棧中,再輸出判斷是否與字元另一半相等,就可以判斷是否是回文字元了,是不是十分簡單...
基於棧的回文字元序列判斷
描述 回文序列是正反讀均相同的字串行,如 abba 和 abdba 均是回文,但是 good 不是回文。請設計乙個演算法判定給定的字串行是否為回文。輸入多組資料,每組資料有一行。每一行為乙個長度不定的字串行a。當a為 0 時,輸入結束。輸出對於每組資料輸出一行。若字串行a是回文序列,則輸出 yes ...