遞迴 氣泡排序的遞迴式寫法

2021-08-20 08:23:23 字數 586 閱讀 8002

第一次氣泡排序如上圖 比較順序是 01 12 23 34

第二次是 01 12 23

第三次是 01 12

第四次 01

經過這些有限次的比較以後 使得陣列元素有序。

遞迴的寫法和思路也是基本相同  。先上非遞迴的 基礎氣泡排序 排完序是遞減的有序序列 n是元素個數

for(int i=1;i那氣泡排序就可以這樣解析:  i 從 1 開始 累加至大於等於 n時排序結束。每一次的 i 都會伴隨著 n-i 次冒泡處理。每一次的冒泡處理 j 都伴隨著比較交換的操作。  

那麼 遞迴出口就是 i>=n 

那麼 i,j變化的條件是 j>=n-i

那麼就可以完成遞迴的寫法:

void mppx(int n,int i,int j,int a){

if(i>=n)

return;

else if(j>=n-i)

i++,j=0;

if(a[j]

氣泡排序,,,,遞迴

第一種 這種方法氣泡排序 比較相鄰的兩個元素,如果前乙個比後乙個大,則交換位置。第一輪把最大的元素放到了最後面。由於每次排序最後乙個都是最大的,所以之後按照步驟1排序最後乙個元素不用比 function arr sort data arr sort arr 第二種方法時對氣泡排序的改進 宣告乙個變數...

氣泡排序 遞迴

一 氣泡排序 1思想 氣泡排序思想 每一次對比相鄰兩個資料的大小,小的排在前面,如果前面的資料比後面的大就交換這兩個數的位置 要實現上述規則需要用到兩層for迴圈,外層從第乙個數到倒數第二個數,內層從外層的後面乙個數到最後乙個數 2特點 排序演算法的基礎。簡單實用易於理解,缺點是比較次數多,效率較低...

快速排序的遞迴寫法

快速排序 遞迴 遞迴思想 單趟來說,begin找比key大的,end找比key小的,當各自都找到的時候,若begin比end小,則交換兩個資料,然後繼續找,當再找到的時候,如果 begin比end大,則比較a begin 和key的值,若a begin 大於key,說明 a begin 的位置應該是...