內部排序回顧Java版(一)

2021-08-16 21:17:51 字數 717 閱讀 3372

近日複習內部排序,仔細體會了嚴蔚敏老師的資料結構,深受啟發,總結如下:

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種,分別是,選擇排序,氣泡排序,插入排序,歸併排序,氣泡排序,基數排序,堆排...