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

2021-09-24 05:45:31 字數 1281 閱讀 3222

思路

/*

回文數判斷的思想

1.需要用到兩個棧 乙個棧用於壓棧 乙個用於退棧的接收 這裡用到的是靜態棧

2.退棧的次數是len / 2 次

3.回文數分為奇數個和偶數個兩種情況

*/

**實現
#include

#include

#define maxsize 100

//為了簡化** 假設空間足夠大 不存在靜態棧滿的情況

#define flag '@'

//停止輸入的標誌

typedef

char datatype;

typedef

struct

sqstack;

void

init_stack

(sqstack *s)

;void

enter_stack

(sqstack *s)

;void

show_stack

(sqstack *s)

;int

judge_palindromic

(sqstack *p,sqstack *q)

;void

delete_stack

(sqstack *s,datatype *c)

;void

main()

void

init_stack

(sqstack *s)

void

enter_stack

(sqstack *s)

}void

delete_stack

(sqstack *s,datatype *c)

//c記錄傳出的元素

void

show_stack

(sqstack *s)

printf

("\n");

}int

judge_palindromic

(sqstack *p,sqstack *q)

printf

("退棧後p中元素:\n");

show_stack

(p);

printf

("退棧後q中元素:\n");

show_stack

(q);

if(p->top != q->top)

while

(i >0)

else

i--;}

return j;

}

資料結構練習題

設pa,pb分別指向兩個帶頭結點的有序 從小到大 單鏈表。仔細閱讀如下的程式,並回答問題 1 程式的功能 2 s1,s2中值的含義 3 pa,pb中值的含義。include include typedef struct list list void exam list pa,list pb else...

資料結構 緒論 練習題

a.找出資料結構的合理性 b.研究演算法的輸入 輸出關係 c.分析演算法的效率以求改進 d.分析演算法的易讀性 答案 c 什麼是資訊?廣義地講,資訊就是訊息。宇宙三要素 物質 能量 資訊 之一。它是現實世界各種事物在人們頭腦中的反映。此外,人們通過科學儀器能夠認識到的也是資訊。資訊的特徵為 可識別 ...

回文數 (棧)資料結構

回文數 棧 由於輸入的乙個回文數可能無窮大,所以要求使用單鏈表儲存該數。問題分析 將使用者輸入的數以乙個單鏈表的方式儲存。從頭掃瞄該單鏈表,將前面的一半元素入棧,若元素的總個數為奇數,則跳過中間的那個元素,然後開始迴圈 邊退棧邊在單鏈表中後移指標,若當前棧頂元素與單鏈表中當前節點的值域不相等,則退出...