快速排序java簡單實現

2021-08-25 06:09:51 字數 1000 閱讀 7899

快速排序簡單實現

/**

* 將陣列的某一段元素進行劃分,小的在左邊,大的在右邊

**@param a 陣列

*@param start 開始的位置

*@param end 結束的位置

*@return 基準值的位置

*/public

static

intdivide(int a, int start, int end)

//上面的while迴圈結束時,就說明當前的a[start]的值比基準值大,應與基準值進行交換

if (start < end)

while (start < end && a[end] >= base)

//上面的while迴圈結束時,就說明當前的a[end]的值比基準值小,應與基準值進行交換

if (start < end)

}//這裡返回start或者end皆可,此時的start和end都為基準值所在的位置

return end;

}/**

* 排序

**@param a 陣列

*@param start 開始的位置

*@param end 結束的位置

*/public

static

void

sort(int a, int start, int end)

}@test

public

void

sort()

long start = system.currenttimemillis();

quicksort.sort(ints,0,ints.length-1);

// system.out.println(arrays.tostring(ints));

system.out.println(system.currenttimemillis() - start);

}

演算法java 簡單實現快速排序

int arr int frist 0 intlast 9 第一次迴圈,frist指向arr 0 last指向arr 9 首先從右開始尋找小於基準數6的元素,last指向arr 7 5,frist從左尋找大於基準數6的元素,指向arr 3 7,交換兩個位置的值 int arr int frist 3...

2015 6 9 快速排序的java簡單實現

快速排序的思想不知道怎麼描述,那麼就直接貼 吧。做個筆記。public class quicksort sort a,0,a.length 1 for int i 0 i right return if left 0 right a.length 1 return int i left int j ...

排序 快速排序(java實現)

快速排序是一種非常高效的排序演算法,它採用了 分而治之 的思想,把大的拆分成小的,小的再拆分為更小的。其原理如下 對於給定一組記錄,通過一趟排序後,將原序列分為兩部分,其中前一部分的所有記錄都比後一部分的所有記錄小,然後再依次對前後兩部分的記錄進行快速排序,遞迴該過程,直到序列中所有的記錄均為有序為...