近日複習內部排序,仔細體會了嚴蔚敏老師的資料結構,深受啟發,總結如下:
1 緒論
排序有兩大操作組成,一是比較關鍵字大小,這個不可避免,二是將記錄從乙個位置移動到另乙個位置,這可通過儲存方式來盡力避免。
總的來說排序分為以下幾種:內部排序和外部排序,而內部排序分為插入排序,
2 插入排序
2.1 簡單插入排序,
public static void insertsort(int array);
for(int dk:dks)
} public static void shellinsert(int array,int dk)
array[j]=tmp;
} }
希爾排序的複雜度比較難以計算,需要注意的是,增量的設定中應該使序列中沒有除去1以外的公因式,且最後乙個增量必須為1.
3. 交換排序
3.1 氣泡排序
氣泡排序的複雜度比較簡單,為o(n^2)
public static void bubblesort(int array)
else
}} }
3.2 快速排序
public static void qsort(int array,int low,int high)
array[low]=array[high];
while(low
java內部類回顧之匿名內部類
匿名內部類使用比較多一種情況是 當乙個方法傳遞乙個介面型別的引數時。這裡定義乙個介面 package com.pht.inner public inte ce person 再定義乙個類,且有乙個傳遞person型別的引數的方法 package com.pht.inner public class ...
java內部類回顧之一般內部類實現多繼承和封裝性
本文的標題可能有一定的誤導性,並不是說一般內部類就能實現多繼承,顯然這是不可能的。真正的意思是通過多繼承來實現我們期望中的多繼承的功能。這裡就拿人類來舉例吧,人 person 是一種生物 biology 而且是可移動 moveable 的生物。我們可以定義如下兩個類 public class bio...
內部排序 一
最近在實驗室恰逢師兄師姐們的校招季,會有很多面試筆試題考一些基本的演算法,其中較為常用的就是排序演算法,當然這裡指的僅僅是內部排序,處於複習的目的,回顧了一下在大二時候學習的一些排序方法,算是乙個記錄 內部排序大概來說有10種,分別是,選擇排序,氣泡排序,插入排序,歸併排序,氣泡排序,基數排序,堆排...