1#region 氣泡排序演算法2//
首先將所有待排序的數字放入工作列表中3//
從列表的第乙個數字到倒數第二個數字,逐個檢查:若某一位上的數字大於他的下一位,則將它與它的下一位交換4//
重複2號步驟,直至再也不能交換
5public
class
bubblesort621
}22j++
;23}24
}25}26
#endregion
1#region 選擇排序演算法2//
1.設陣列內存放了n個待排數字,陣列下標從1開始,到n結束3//
2.i=1從陣列的第i個元素開始到第n個元素,尋找最小的元素4//
3.將上一步找到的最小元素和第i位元素交換5//
4.如果i=n-1演算法結束,否則回到第3步
6public
class
choosesort719
intt
=list[min];
20list[min]
=list[i];
21list[i] =t;
22}23}
24}25#endregion
1#region 插入排序演算法2//
首先新建乙個空列表,用於儲存已排序的有序數列(我們稱之為"有序列表") 3//
從原數列中取出乙個數,將其插入"有序列表"中,使其仍舊保持有序狀態4//
重複2號步驟,直至原數列為空
5public
class
insertsort618
list[j] =t;
19}20}
21}22#endregion
1#region 希爾排序演算法2//
先取乙個小於n的整數d1作為第乙個增量,把檔案的全部記錄分成d1個組3//
所有距離為dl的倍數的記錄放在同乙個組中。先在各組內進行直接插入排序4//
然後,取第二個增量d2
5public
class
shellsort622
list[j -1
] =t;23}24
}25}26
}27#endregion
1#region 快速排序演算法2//
實踐證明,快速排序是所有排序演算法中最高效的一種3//
它採用了分治的思想:先保證列表的前半部分都小於後半部分,然後分別對前半部分和後半部分排序,這樣整個列表就有序了4//
這是一種先進的思想,也是它高效的原因。因為在排序演算法中,演算法的高效與否與列表中數字間的比較次數有直接的關係5//
而"保證列表的前半部分都小於後半部分"就使得前半部分的任何乙個數從此以後都不再跟後半部分的數進行比較了,大大減少了數字間不必要的比較。但查詢資料得另當別論了
6public
class
quicksort717
}18///
19//
/ 方法引數:原始陣列、第乙個元素位置、最後元素位置
20//
/ 方法功能:完成一趟快速排序
21//
/ 22
///
23//
/ 24
///
25//
/ 26
public
intpartition(
int intarray,
intnlower,
intnupper)
2751}52
///以intarray[nright]為新支點
53nswap
=intarray[nlower];
54intarray[nlower]
=intarray[nright];
55intarray[nright]
=nswap;
56return
nright;57}
58}59#endregion
1class
program2;
6bubblesort bs
=new
bubblesort();
//例項化類
7bs.sort(iarrary);
//排序
常見排序演算法總結(java版)
總結幾種常用到的排序演算法,如下 1.選擇排序 2.插入排序 3.氣泡排序 4.歸併排序 5.快速排序 6.堆排序 為方便起見,規定陣列為整形陣列,並要按遞增排序,並定義幾個方法 private static void exch int a,int i,int j 1.選擇排序 選擇排序的思想就是 ...
JavaScript版幾種常見排序演算法
說明 個人理解 一些排序演算法 js 利用sort進行排序 systemsort function array 氣泡排序 bubblesort function array return array 快速排序 quicksort function array var key array i var ...
c 常見的排序演算法
與選取的基準值進行比較 int getpartion int array,int low,int high return low 返回key值的下標 low為陣列最左邊位置,high為陣列最右邊位置 void quitsort int buf,int low,int high 最簡單的插入排序 向前...