回文字元的判斷,同時運用兩種資料結構進行巧妙判斷

2021-09-20 21:57:20 字數 1046 閱讀 1378

#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 ...