回文數 (棧)資料結構

2021-09-28 19:55:22 字數 1133 閱讀 5216

回文數(棧)

由於輸入的乙個回文數可能無窮大,所以要求使用單鏈表儲存該數。

【問題分析】

將使用者輸入的數以乙個單鏈表的方式儲存。從頭掃瞄該單鏈表,將前面的一半元素入棧,若元素的總個數為奇數,則跳過中間的那個元素,然後開始迴圈:邊退棧邊在單鏈表中後移指標,若當前棧頂元素與單鏈表中當前節點的值域不相等,則退出迴圈。最後如果棧空且鍊錶比較完畢,則是回文數,否則不是回文數。

以下:

#include

#include

#define stacksize 100

#define stackadd 100

using

namespace std;

typedef

struct

stack;

typedef

struct lnodelnode,

*linklist;

void

createstack

(stack &s)

void

push

(stack &s ,

char e)

*s.top = e;

s.top++;}

void

pop(stack &s,

char

&e)void

createlist

(linklist &l ,

int&llen)

p->next =

null;}

void

sl(linklist l,stack s,

int llen,

char e)

slen = s.top - s.base;

for(i=

0;i < slen;i++)}

if( kk == slen)

cout<<

"你輸入的數是回文數!"

;else

cout<<

"你輸入的數不是回文數!";}

intmain()

sl(l,s,llen,e)

;return0;

//頭髮又掉了幾條,woc

}

回文判斷 資料結構 棧

試編寫乙個演算法,判斷一次讀入的乙個以 結束符的字母序列是否為形容序 列1 序列2 模式的字串行。其中序列1 和序列2都不含字元 且序列2是序列1的你序列。列入,a b b a 時屬於該模式的字串行,而 1 3 3 1 不是 include include include typedef struc...

資料結構 判斷回文數

棧的基本應用 判斷回文數 include include include include define stack init size 100 儲存空間初始分配量 define stack increasement 10 using namespace std typedef struct sqst...

資料結構棧練習題之回文數

思路 回文數判斷的思想 1.需要用到兩個棧 乙個棧用於壓棧 乙個用於退棧的接收 這裡用到的是靜態棧 2.退棧的次數是len 2 次 3.回文數分為奇數個和偶數個兩種情況 實現 include include define maxsize 100 為了簡化 假設空間足夠大 不存在靜態棧滿的情況 def...