資料結構實驗5 遞迴

2021-07-25 04:28:03 字數 1300 閱讀 9996

/*

編寫遞迴演算法int max(int a,int

left, int

right),求陣列a[left..right]中的最大數。

*/#include "arrayio.h"

/*請將本函式補充完整,並進行測試*/

int max(int a,int

left,int

right)

}int main()

/*

請編寫乙個遞迴演算法函式void partion(int a, int left, int right),

將陣列a[left..right]中的所有奇數調整到表的左邊,所有偶數調整到表的右邊。

*/#include "arrayio.h"

#define n 10

/*請將本函式補充完整,並進行測試*/

void partion(int a, int left,int right)

}}int main()

/*

請編寫遞迴函式void bubblesort(int a,int n),

對長度為n的陣列採用冒泡法進行公升序排序。

請編寫遞迴函式int binsearch(int a, int

left, int

right,int key),

採用二分查詢法在陣列a[left..right]中查詢值為key的元素所在的位置,

若查詢失敗函式返回-1。

*/#include "arrayio.h"

#define n 10

/*請將本函式補充完整,並進行測試*/

void bubblesort(int a,int n)

}bubblesort(a,n-1);

}}int binsearch(int a, int

left,int

right,int key)

}int main()

/*

已知帶頭結點的單鏈表結構定義同實驗3,假設鍊錶中所有結點值均不相同,

請編寫乙個遞迴函式linklist max(linklist head),返回表中最大數所在的結點位址,若煉表為空,返回null。

*/#include

"slnklist.h"

/*請將本函式補充完整,並進行測試*/

linklist max(linklist head)

}int main()

資料結構 5 遞迴

3.練習 遞迴就是子程式 或函式 直接呼叫自己或通過一系列呼叫語句間接呼叫自己,是一種描述問題和解決問題的基本方法。遞迴常與分治思想同時使用,能產生許多高效的演算法。遞迴常用來解決結構相似的問題。所謂結構相似,是指構成原問題的子問題與原問題在結構上相似,可以用類似的方法解決。具體地,整個問題的解決,...

5 資料結構 遞迴

將原來的問題,轉化為更小的同一問題 計算arr l.n 這個區間內所有數字的和 private static int sum int arr,int l public static void main string args system.out.println sum nums 36 1.鍊錶的天...

《資料結構》實驗5

1.回樹和二叉樹的邏輯結構和儲存方法,清楚掌握樹和二叉樹的遍歷操作。2.學習樹的相關知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。實驗內容 1.自己設計乙個二叉樹,深度最少為4,請遞迴演算法分別用前序 中序 後序遍歷輸出樹結點。1.標頭檔案 bitree.h ifnde...