3.17 試寫乙個演算法,識別一次讀入的乙個以@為結束符的字串行是否為形如『序列1&序列2』模式的字串行。其中序列1和序列2中都不含字元『&』,且序列2是序列1的逆序列。例如,『a+b&b+a』是屬該模式的字串行,而『1+3&3-1』則不是。
#include
#include
#define stack_init_size 100
#define stack_increment 10
typedef struct
sqstack;
int init_stack(sqstack &s)
s.top = 0;
s.stacksize = stack_init_size;
return1;}
int destorystack(sqstack &s)
int push(sqstack &s, char e)
s.base = newbase;
s.stacksize += stack_increment;
}s.base[s.top++] = e;
return1;}
int pop(sqstack &s, char &e)
e = s.base[--s.top];
return1;}
/*3.17*/
int shiqi(char a)
if (!a[i])/*這裡要特別留意&後面為空的情況*/
i++;
while (a[i] != '@' && a[i])
i++;
}return1;}
int main()
嚴蔚敏資料結構習題3 31
3.31 假設稱正讀和反讀都相同的字串行為 回文 例如,abba 和 abcba 是回文,abcde 和 ababab 則不是回文。試寫乙個演算法判別讀入的乙個以 為結束符的字串行是否是 回文 這題非常簡單,分別入棧和入隊,然後出棧和出佇列比較,相同即可。這種思路我也是靈光一閃想到的。本以為能沾沾自...
嚴蔚敏 資料結構習題 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 如果比最...