嚴蔚敏資料結構習題3 31

2021-07-05 16:21:07 字數 910 閱讀 2526

3.31 假設稱正讀和反讀都相同的字串行為「回文」,例如,『abba』和『abcba』是回文,『abcde』和『ababab』則不是回文。試寫乙個演算法判別讀入的乙個以『@』為結束符的字串行是否是「回文」。

這題非常簡單,分別入棧和入隊,然後出棧和出佇列比較,相同即可。這種思路我也是靈光一閃想到的。本以為能沾沾自喜,網上搜了一下基本都是這樣,orz,只能感嘆一句:我是乙隻小菜鳥~~

因為很簡單,所以注釋就不怎麼打了,基本一眼就能看懂的

#include 

#include

#define initsize 100

#define addsize 10

typedef struct

sqstack;

int init_stack(sqstack &s)

int push(sqstack &s,char e)

s.base[s.top++]=e;

return1;}

int pop(sqstack &s,char &e)

int stackempty(sqstack s)

typedef struct

sqqunue;

void init_qunue(sqqunue &q)

int ensqunue(sqqunue &q,char e)

q.data[q.rear] = e;

q.rear = (q.rear + 1) % initsize;

return1;}

int delsqunue(sqqunue &q,char &e)

int sanshiyi(char *p)

while(!stackempty(s))

return1;}

int main()

嚴蔚敏資料結構習題3 17

3.17 試寫乙個演算法,識別一次讀入的乙個以 為結束符的字串行是否為形如 序列1 序列2 模式的字串行。其中序列1和序列2中都不含字元 且序列2是序列1的逆序列。例如,a b b a 是屬該模式的字串行,而 1 3 3 1 則不是。include include define stack init...

嚴蔚敏 資料結構習題 6 52

乙個二叉樹的繁茂度定義為各層節點數的最大值與樹的高度的乘積。是寫個演算法,求二叉樹的繁茂度。其實就是找出結點數最多的那一層,然後結點數乘以樹的高度 include include include include include include include include using namesp...

嚴蔚敏資料結構10 24習題

2路插入排序的思想就是利用迴圈陣列,增加乙個輔助陣列用來插入排序。將小的數字插入在左邊,將大的數字插入在右邊 詳情可以見這個部落格,我覺得寫得很好 includevoid 2 sort int arr,int aux,int n 如果比最大的大 else if arr i aux tail 如果比最...