java演算法 快速排序

2021-09-10 21:51:08 字數 719 閱讀 9939

package sort_algorithm;

/** * @description 快速排序

* @auther movw

* @create 2019-02-14 13:41

* @package sort_algorithm

*/public class quicksort

if (quicksource[end] <= key)

//從前往後比較

//如果沒有比關鍵值大的,比較下乙個,直到有比關鍵值大的交換位置

while (end > start && quicksource[start] <= key)

if (quicksource[start] >= key)

//此時第一次迴圈比較結束,關鍵值的位置已經確定了。左邊的值都比關鍵值小,右邊的值都比關鍵值大,但是兩邊的順序還有可能是不一樣的,進行下面的遞迴呼叫

}//遞迴

//左邊序列。第乙個索引位置到關鍵值索引-1

if (start > low)

//右邊序列。從關鍵值索引+1到最後乙個

if (end < high)

}public static void main(string args) ;

quicksort.quicksort(a,0,a.length-1);

for (int aa:a)

}}

Java排序演算法 快速排序

一.思想 對氣泡排序演算法的一種改進。通過一趟排序將排序的資料分割成兩個部分,其中一部分的所有資料都比另一部分的所有資料都要小,然後再按此方法對這兩部分分別再進行快速排序,依次類推。實現為 開始時先設兩個變數i start,j end 以第乙個元素作為中間點,pivot num i 以j 的形式從後...

java排序演算法 快速排序

陣列 2,6,3,6,5,9,1 輸出 1 2 3 5 6 6 9 private static void paixu int arrs,int h,int e while arrs x arrs e 交換值 int m m arrs h arrs h arrs e arrs e m 2,6,3,6...

java快速排序演算法

package com.head.swift 快速排序 public class main sorts a,0,a.length 1 對陣列a進行公升序排列 輸出陣列 for int i a public static void sorts int a int left int right if i...