java 算法之快速排序?qū)崿F(xiàn)代碼
java 算法之快速排序?qū)崿F(xiàn)代碼
摘要: 常用算法之一的快速排序算法的java實(shí)現(xiàn)
原理:選擇一個(gè)基準(zhǔn)元素,通常選擇第一個(gè)元素或者最后一個(gè)元素,通過(guò)一趟掃描, 將待排序列分成兩部分,一部分比基準(zhǔn)元素小,一部分大于等于基準(zhǔn)元素, 此時(shí)基準(zhǔn)元素在其排好序后的正確位置,然后再用同樣的方法遞歸地排序劃分的兩部分。
/**
*
* @author 阿信sxq-2015年7月16日
*
* @param args
*/
public static void main(String[] args) {
int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4,
62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 };
if (a.length > 0) {//查看數(shù)組是否為空
_quickSort(a, 0, a.length - 1);
}
System.out.println(Arrays.toString(a));
}
public static void _quickSort(int[] arr, int left, int right) {
if (left >= right) {
return;
}
int low = left;
int high = right;
int tmp = arr[low];//數(shù)組的第一個(gè)作為中軸
while (low < high) {
while (low < high && arr[high] >= tmp) {
high--;
}
arr[low] = arr[high];//比中軸小的記錄移到低端
while (low < high && arr[low] <= tmp) {
low++;
}
arr[high] = arr[low];//比中軸大的記錄移到高端
}
arr[low] = tmp;//中軸記錄到尾
_quickSort(arr, left, low - 1);//對(duì)低字表進(jìn)行遞歸排序
_quickSort(arr, low + 1, right);//對(duì)高字表進(jìn)行遞歸排序
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Java編程基于快速排序的三個(gè)算法題實(shí)例代碼
- Java基于分治法實(shí)現(xiàn)的快速排序算法示例
- Java編程實(shí)現(xiàn)快速排序及優(yōu)化代碼詳解
- java簡(jiǎn)單快速排序?qū)嵗馕?/a>
- Java 冒泡排序、快速排序?qū)嵗a
- JAVA一個(gè)快速排序?qū)崿F(xiàn)代碼
- 圖文講解Java中實(shí)現(xiàn)quickSort快速排序算法的方法
- Java編程中快速排序算法的實(shí)現(xiàn)及相關(guān)算法優(yōu)化
- 詳解Java中使用泛型實(shí)現(xiàn)快速排序算法的方法
- 詳解Java雙軸快速排序算法
相關(guān)文章
SpringBoot+Mybatis使用Mapper接口注冊(cè)的幾種方式
本篇博文中主要介紹是Mapper接口與對(duì)應(yīng)的xml文件如何關(guān)聯(lián)的幾種姿勢(shì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
SSH框架網(wǎng)上商城項(xiàng)目第27戰(zhàn)之申請(qǐng)域名空間和項(xiàng)目部署及發(fā)布
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第26戰(zhàn)之申請(qǐng)域名空間和項(xiàng)目部署及發(fā)布,感興趣的小伙伴們可以參考一下2016-06-06
maven項(xiàng)目無(wú)法讀取到resource文件夾的問(wèn)題
這篇文章主要介紹了maven項(xiàng)目無(wú)法讀取到resource文件夾的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
SpringBoot整合Security權(quán)限控制登錄首頁(yè)
這篇文章主要為大家介紹了SpringBoot整合Security權(quán)限控制登錄首頁(yè)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
@PathVariable獲取路徑中帶有 / 斜杠的解決方案
這篇文章主要介紹了@PathVariable獲取路徑中帶有 / 斜杠的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
java遞歸實(shí)現(xiàn)復(fù)制一個(gè)文件夾下所有文件功能
這篇文章主要介紹了java遞歸實(shí)現(xiàn)復(fù)制一個(gè)文件夾下所有文件功能n次,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08

