資料結構7 排序

2021-10-06 22:17:24 字數 2609 閱讀 7013

理解選擇排序的不穩定性

// 選擇排序

// 氣泡排序

// 插入排序

public

int[

]charusort

(int

intarr)

for(

int i =

1; i < intarr.length; i++)}

}return intarr;

}

// 正確性檢測

@test

public

void

sorttest()

system.out.

println

(arrays.

tostring

(arr));

int[

] copyof = arrays.

copyof

(arr, arr.length)

; arrays.

sort

(copyof)

; system.out.

println

(arrays.

tostring

(copyof));

// 此處引入自定義的排序方法

// 快速排序

#include

intfindpos

(int

* a,

int low,

int high);

void

quicksort

(int

* a,

int low,

int high);

intmain

(void);

int i;

quicksort

(a,0,5

);// 第二個引數表示第乙個元素的下標,第三個引數表示最後乙個元素的下標

for(i =

0;i<6;

++i)

printf

("%d"

,a[i]);

printf

("\n");

return0;

}void

quicksort

(int

* a,

int low,

int high)

}int

findpos

(int

* a,

int low,

int high)

// 終止while迴圈之後,low和high一定是相等的

a[low]

= val;

return low;

// high

}

資料結構1 排序

就算複習再緊張,也要動手實踐資料結構中的基本演算法,徹底理解演算法的本質。不要讓任何理由成為不程式設計的藉口。從快速排序開始,將演算法問題一一攻克。複習提綱 基本資料結構 棧和佇列,陣列和鍊錶 樹和二叉樹 二叉查詢樹 平衡二叉樹 雜湊表 排序演算法 選擇排序 氣泡排序和快速排序 堆和堆排序 計數排序...

資料結構 07 排序

簡單的排序方法 氣泡排序 選擇排序 插入排序 希爾排序。先進的排序方法 歸併排序 快速排序 堆排序 基數排序。1.演算法思想 每次在未排序的元素中兩兩比較找最大值,邊找邊從後往前儲存 未排序.第i大 第2大 第1大 一般情況,整個氣泡排序只需進行 k 1 k氣泡排序結束的條件是 在某一趟排序過程中沒...

資料結構1 排序

關鍵字相同的項排序後順序不變就是穩定的排序演算法,否則是不穩定的排序演算法。排序分為內部排序和外部排序,內部排序只需要訪問記憶體,外部排序還需要訪問外存。1.氣泡排序 穩定排序演算法 很經典簡單的方法,每個數字從最下面開始一層一層往上走,像冒泡泡一樣。冒泡是用兩個巢狀的for迴圈實現的,基本操作 比...