Java 陣列排序演算法

2021-08-25 08:51:08 字數 1388 閱讀 4328

目錄

一、氣泡排序

二、直接選擇排序

三、反轉排序(以相反順序重新排列陣列)

程式常用的排序方法有氣泡排序、選擇排序和快速排序等

除sort()方法外:

public class bubblesort ;

bubblesort sorter = new bubblesort();

sorter.sort(arr);

}public void sort(int array) }}

showarray(array);

}public void showarray(int array) }}

輸出結果為:

**解析:每經過一輪j的for迴圈,都能保證把當前參與迴圈的元素(即j迴圈的迴圈條件,即索引在length-i之前的元素)中最大的放第(length-i)位上,從第(length-i-1)位往前的元素都不能保證按大小順序排列,需要再不斷經過i的迴圈,來重複上述過程,以達到每次迴圈中的最大元素都在(length-i)位上,最終整個數列都是按從小到大順序排列的

(個人認為還有一種類似的「下降氣泡排序法」,**類似,為:

public class bubblesort ;

bubblesort sorter = new bubblesort();

sorter.sort(arr);

}public void sort(int array)

if(array[j],輸出結果相同

**解析:每次i迴圈,索引在i之前的元素參與當前的j迴圈,每次迴圈能保證當前參與迴圈的i+1個元素(即j迴圈的迴圈條件)都按大小順序排列,因為上一次的i迴圈能保證除參與當前迴圈的最後乙個元素外,前面的元素已經按大小順序排列,則當[j]已經大於[j-1]時,就已經可以跳出當前的j迴圈,進行下一次i迴圈)

為選擇排序的一種

public class selectsort ;

selectsort sorter = new selectsort();

sorter.sort(arr); }

public void sort(int array) ;

reversesort sorter = new reversesort();

sorter.sort(arr); }

public void sort(int array) {

int length=array.length;

for(int i=0;i不多說,和上學期cpp期末考試題一樣。就是注意是交換array[length-i-1]

java陣列排序基演算法

1 氣泡排序 演算法基本思想 氣泡排序的基本思想是對比相鄰的元素值,如果滿足條件就交換元素值,把較小的元素移動到陣列前面,把大的元素移動到陣列後面 也就是互換兩個元素的位子 這樣較小的元素就像氣泡一樣從底部上公升到頂部。public class bubbling bubbingsort arr pu...

java陣列排序

public void sortdropitems listdropitemvos collections.sort dropitemvos,comparator 正序 collections.reverse challengepeoplevos 倒序 按兩個元素排序 private static ...

java陣列排序

1 選擇排序 利用原理是 從第0個下標開始進行比較和較大的數進行換位 借用第三方變數 第一次比較完後,從第1個小標開始進行比較和較大的數進行換位 借用第三方變數 特點 第一次都比較完後,最小的數出現在了0下標位置上巢狀的for來完成 2 氣泡排序 相鄰兩個資料進行比較,根據結果換位 兩種排序示意圖 ...