今天總結了幾個比較基礎常用的排序演算法。寫下來,以後可以直接參考。
var o = }}
return arr;
},//插入排序(穩定)
/**假設待排序的記錄存放在陣列r[1……n]中,初始時,r[1]自成乙個有序區,不需要比較,
無序區r[2...n],從i=2起到i=n為止,依次將r[i]插入當前有序區。
帶插入的記錄r[i]從右向左與有序區的r[j]比較,
若r[j]>r[i],則r[j]後移乙個位置
若r[j]<=r[i],則查詢結束,j+1即為r[i]插入位置**/
insertsort:function(array) else
} array[j + 1] = temp;
}return array;
}, //選擇排序(不穩定)
selectsort:function(a)
a[i] = a[j]; //將比數軸記錄小的移動到低的那一端
while((a[i] <= temp) && (i < j))
a[j]= a[i]; //將比數軸記錄大的移動到高的那一端
}a[i] = temp; //樞軸記錄到位
// quicksort(a,low,i-1);
// quicksort(a,j+1,high);
arguments.callee(a,low,i-1);
arguments.callee(a,j+1,high);
}else
return a;
} };
測試結果:
如圖:
冒泡,選擇,插入排序演算法 總結
之前一直都沒有怎麼注意簡單演算法的編寫,現在重寫翻閱了下資料,才慢慢熟悉。package com.klay.sort public class klay int arr1 int arr2 bubbo arr for int i 0 i arr.length i system.out.println...
選擇 冒泡 插入排序演算法總結
本文做的排序都是預設公升序排序,即從小到大,此為大前提 l 2,5,3,6,1,4,0,9,18,11,15,12 選擇排序 依次拿乙個元素 從第二個元素開始 和第乙個位置元素比較,如果比第乙個元素小就交換位置,這樣第一次迴圈結束,最小的數就放在了第乙個,以此類推 第一層迴圈確定元素要放的位置,所以...
排序演算法 插入 選擇 冒泡 快排 歸併
可以找一些帖子理解下幾類排序演算法或者聽下陳越姥姥在mooc上的資料結構 選擇類排序 交換類排序 歸併排序 基數排序 拓撲排序 從待排序的n個記錄中的第二個記錄開始,依次與前面的記錄比較並尋找插入的位置,每次外迴圈結束後,將當前的數插入到合適的位置。void sort insert int a,in...