在學習了棧和佇列之後,為加強對棧和佇列的熟練運用,特此運用棧和佇列進行回文判斷。雖然很麻煩,本來乙個for迴圈就能解決的問題,但是增強了對棧和佇列的理解和運用,還是值得一試的。
本**實現所需功能所需要理解的是棧有後進先出、佇列是先進先出的特點,並掌握入隊、入棧、出隊、出棧的函式實現。
`//整體思路:利用棧的後進先出和佇列的先進先出的特點,將乙個陣列序列分別輸入佇列和棧中,然後分別依次彈出每個元素,如果每次彈出的都相同,則是回文序列,否則不是
#include
#include
#include
struct seqqueue
;typedef struct seqqueue pseqqueue;
pseqqueue createemptyqueue_seq(int m) //建立佇列
}else free(q);
printf(「out of space!」);
return null;
}int isemptyqueue(pseqqueue p) //判斷是否為空佇列,若是空佇列,返回0 ,有最好,無也行
void enqueue_seq(pseqqueue p,char x) //入隊
}char dequeue_seq(pseqqueue p) //出隊
;typedef struct seqstack pseqstack;
pseqstack createemptystack(int m) //開始建立棧
else
}void push_seq(pseqstack p,char x)
}char pop_seq(pseqstack p)
}int isemptystack(pseqstack p)
int main()
for(i=0;i}printf(「是回文序列!」);
return 0;
}`
用棧判斷是否是回文字串
toc 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示 全...
利用棧和佇列判斷字串是否是回文 c語言
假設正讀和反讀都相同的字串行為 回文 例如,abba 和 abcba 是回文,abcde 和 ababab 則不是回文。試寫乙個演算法判別讀入的乙個以 為結束符的字串行是否是 回文 include include define m 100 typedef struct 定義棧 zhan void c...
棧和佇列判斷回文數
假設稱正讀和反讀都相同的字串行為 回文 例如 abba 和 abcba 是回文,abcde ababab 則不是回文,試編寫演算法判別讀入的乙個以 為結束符的字串行是否為 回文 由於依次輸入的字串行中不含特殊的分隔符,則在判別是否是回文時,可以同時利用棧和佇列兩種結構來實現。include incl...