棧的簡單應用 判斷回文字元

2021-10-06 17:30:42 字數 529 閱讀 3349

棧是一種後進先出的資料結構,它只能在一端進行插入和刪除操作,通常把它叫做top,類似於我們吃薯片的過程,你是不是先從最頂端開始吃的呢?判斷回文就是棧的乙個典型用法。

所謂回文,就是左右對稱的結構,那麼我們只需要將其一半輸入棧中,再輸出判斷是否與字元另一半相等,就可以判斷是否是回文字元了,是不是十分簡單呢。

#include

#include

using

namespace std;

intmain()

if(len%2==

0)//判斷字元數字的奇偶

next=mid+1;

else

next=mid+2;

for(

int i=next;i(top==0)

//匹配完成

cout<<

"it's a palindrome."

cout<<

"it's not a palindrome."

<}

基於棧的回文字元序列判斷

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

基於棧的回文字元序列判斷

描述 回文序列是正反讀均相同的字串行,如 abba 和 abdba 均是回文,但是 good 不是回文。請設計乙個演算法判定給定的字串行是否為回文。輸入多組資料,每組資料有一行。每一行為乙個長度不定的字串行a。當a為 0 時,輸入結束。輸出對於每組資料輸出一行。若字串行a是回文序列,則輸出 yes ...

順序棧ADT模板簡單應用演算法設計 回文判斷

問題描述 應用 正讀與反讀都相同的字串行稱為 回文 序列。請使用順序棧,設計並實現乙個演算法,判斷依次讀入的乙個以 為結束符的字串行是否為形如 序列1 序列2 模式的字串行。其中序列1和序列2中都不含有字元 且序列2是序列1的逆序列。例如,a b b a 是屬於該模式的字串行,而 1 3 3 1 則...