java常用排序演算法 一

2021-08-10 20:05:53 字數 1649 閱讀 2864

氣泡排序演算法

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。

相同元素前後順序並沒有改變,所以氣泡排序是一種穩定排序演算法

總結:每次判斷大的放到最後

**:

//氣泡排序

int num=;

//第一次迴圈5次,第二次迴圈4次

for(int i=0;i for(int j=0;jif(num[j]>num[j+1])

} }for(int i=0;i system.out.println(num[i]);

}}

選擇排序演算法

每一趟從待排序的資料元素中選出最小(或最大)的乙個元素,順序放在已排好的數列的最後,知道全部待排序資料元素排完

選擇排序是不穩定的排序

總結:首先選擇最小的放到首或者尾

**:

// 選擇排序

int num = ;

for (int i = 0; i < num.length - 1; i++)

}if (minnum != i)

}for(int n:num)

}/**

* 第一次 4 36 54 98 86 65 

* 第二次 4 36 54 98 86 65 

* 第三次 4 36 54 98 86 65 

* 第四次 4 36 54 65 98 86 

* 第五次 4 36 54 65 96 98

*/

直接插入排序演算法

從後向前找到合適的位置後插入

基本思想:每步將乙個待排序的記錄,將其順序碼大小插入到前面已經排序的子串行的合適位置(從後向前找到合適的位置後),直到全部插入排序完為止

二分查詢演算法

前提是已經排好序的陣列中,通過將待查詢的元素與中間索引值對應的元素進行比較,若大於中間索引值對應的元素,去右半部分查詢,否則,去左半部分查詢。依此類推。直到找到為止,找不到返回乙個負數

**:

// 直接插入排序演算法

int num = ;

for (int i = 1; i < num.length; i++) else

}//結束後j=-1

if (temp != num[j+1])

}for(int n:num)

arrays工具類

二分查詢:

int num = ;

int index=arrays.binarysearch(num, 99);

system.out.println(index);

輸出陣列:arrays.tostring(陣列)

陣列排序:arrays.sort(int array)

java常用排序演算法

一 選擇排序 public class numbersort private static void read string args private static void print int arrays system.out.println private static void select...

java常用排序演算法

氣泡排序演算法 public static void bubbsort int a 演算法思想 由陣列頭部開始,每次比較兩個元素,順序不滿足就進行交換,當前陣列最大值 最小值 會被放在最後。一趟排序完成,然後同樣的方法進行後面的比較。插入排序演算法 public static void inssor...

java常用排序演算法

1 氣泡排序 氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。演算法描述 實現 如下 fu...