JAVA實現排序方法

2021-08-10 08:07:37 字數 1898 閱讀 2164

for (int i = 0; i < a.length; i++)

system.out.println();

reverse(a);反轉陣列方法

reverse(a);

system.out.print("反轉陣列方法: ");

for (int i = 0; i < a.length; i++)

system.out.println();

quitsort(int a, int low, int hight)快速排序法

int low = 0;

int hight=11;

quitsort(a,low,hight);

system.out.print("快速排序方法: ");

for (int i = 0; i < a.length; i++)

system.out.println();

}交換方法 * @param a * @param i * @param j */

public static void swap(int a, int i, int j)

氣泡排序 * @param a */

public static void bubblesort(int a)

}/*** * 直接選擇排序法----選擇排序的一種方法:每一趟從待排序的資料元素中選出最小(或最大)的乙個元素, *

* 順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。 效能:比較次數o(n^2),n^2/2 交換次數o(n),n *

* 交換次數比氣泡排序少多了,由於交換所需cpu時間比比較所需的cup時間多,所以選擇排序比氣泡排序快。 *

* 但是n比較大時,比較所需的cpu時間佔主要地位,所以這時的效能和氣泡排序差不太多,但毫無疑問肯定要快些。 *

param data *

* 要排序的陣列 * @param sorttype * 排序型別 * @return

*/public static void selectsort(int data)

}/*** 插入排序方法:將乙個記錄插入到已排好序的有序表(有可能是空表)中,從而得到乙個新的記錄數增1的有序表。

* 效能:比較次數o(n^2),n^2/4 * 複製次數o(n),n^2/4 比較次數是前兩者的一般,而複製所需的cpu時間較交換少,

* 所以效能上比氣泡排序提高一倍多,而比選擇排序也要快。 *

* @param data 要排序的陣列

* @param sorttype 排序型別

*/public static void insertsort(int data)

}/*** * 反轉陣列的方法 * *

* @param data * 源陣列

*/public static void reverse(int data)

}/*** * 快速排序快速排序使用分治法(divide and conquer)策略來把乙個序列(list)分為兩個子串行(sub-lists)。

* 步驟為:

* 1. 從數列中挑出乙個元素,稱為 "基準"(pivot),

* 2. 重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面 (相同的數可以到任一邊)。

在這個分割之後,該基準是它的最後位置。這個稱為分割(partition)操作。

* 3. 遞迴地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序。

遞迴的最底部情形,是數列的大小是零或一,也就是永遠都已經被排序好了。

雖然一直遞迴下去,但是這個演算法總會結束,因為在每次的迭代(iteration)中,

它至少會把乙個元素擺到它最後的位置去。

*/public static void quitsort(int a, int low, int hight)// 快速排序法}}

Java之氣泡排序方法例項講解

氣泡排序 bubble sort 最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果...

java實現圖論中的經典演算法

1.最短路的笛傑斯特拉演算法 author administrator 這個演算法用來解決無向圖中任意兩點的最短路徑,同時輸出路徑 起點到所有點的 public class minpath getroute w1,indexs,end return 最短距離是 distance end distan...

c語言中排序的實現方法有好幾種

c語言中排序的實現方法有好幾種.可以到百渡上去搜,會有不少答案的.給你提供幾個.希望對你有幫助.這是冒泡法的程式 include voidsort intarray,intsize voidmain sort a,10 for i 0 i 10 i printf 6d a i 這是選擇法的程式 in...