陣列排序演算法

2022-03-01 18:17:46 字數 1337 閱讀 3378

基本思想:對比相鄰的元素值,如果滿足條件就交換元素值,把較小的元素移動陣列前面,較大的元素移動到陣列後面

演算法:冒泡演算法由雙層迴圈實現,其中外層迴圈控制排序輪次,一般為排序的陣列長度減一。而內層迴圈主要用於對比陣列中每個臨近元素的大小,以確定是否交換位置,對比和交換的次數隨排序輪數而減少。

演算法實現:

1

public

class

bubble ;

4 bubble sorter = new

bubble();

5sorter.sort(array);6}

7//氣泡排序

8public

void sort(int

array)16}

17}18showarray(array);19}

20//

顯示陣列元素

21public

void showarray(int

array)25}

26 }

速度比氣泡排序快一些

基本思想:將指定排序位置與其他陣列元素分別對比,如果滿足條件就交換元素值。

舉例:初始值:63 4 24 1 3 15

第一輪:15 4 24 1 3 63

第二輪:15 4 3 1 24 63

第三輪:1 4 3 15 24 63

第四輪:1 3 4 15 24 63

第五輪:1 3 4 15 24 63

解釋:首先找出6個數中最大的與最後乙個數交換位置,然後在前5個數中找出最大的數與倒數第二個交換位置,這樣length-1次

演算法實現:

1

public

class

select ;

4 select sorter =new

select();

5sorter.sort(array);6}

7//直接選擇排序

8public

void sort(int

array)16}

17int temp=array[array.length-i];

18 array[array.length-i]=array[index];

19 array[index]=temp;20}

21showarray(array);22}

23//

顯示陣列

24private

void showarray(int

array) 28}

29 }

陣列的排序演算法

include int main void puts 您輸入的是個數為 for int j 0 j 10 j int item,ipos 從小到大排序演算法 for int m 0 m 9 m a ipos a m 與第m個元素交換數值 a m item puts n從小到大排序後,輸出為 for ...

陣列常用排序演算法

今天覆習到陣列部分,發現陣列部分中比較重要的可能就是排序這個問題了。其他像遍歷 填充替換陣列元素 複製陣列 查詢陣列等都相對簡單,就把排序部分稍作整理。沒什麼高深知識,隨便看看就好。首先貼出氣泡排序和直接選擇排序的 兩者相近且比較簡單,本來打算分著寫更明顯,不過看著實在太短了,就在乙個類中寫出了,類...

Java 陣列排序演算法

目錄 一 氣泡排序 二 直接選擇排序 三 反轉排序 以相反順序重新排列陣列 程式常用的排序方法有氣泡排序 選擇排序和快速排序等 除sort 方法外 public class bubblesort bubblesort sorter new bubblesort sorter.sort arr pub...