日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

快速排序 java导包_排序算法-快速排序(Java实现)

發布時間:2024/8/23 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速排序 java导包_排序算法-快速排序(Java实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上篇我們講了冒泡排序,這次我們講它的升級版快速排序,“快速”,一看就是個好算法~

快速排序(QuickSort)是啥?

我們先看下百度百科的介紹快速排序(Quicksort)是對冒泡排序的一種改進。

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

簡單點~

我們可以把快速排序看著三個步驟:

1.選擇基準值:在待排序列中,按照某種方式挑出一個元素,作為基準值。

2.分割操作:以該基準值在序列中的實際位置,把序列分成兩個子序列,一邊是比它大的值,另外一邊是比它小的值。

3.遞歸:對兩個子序列進行快排,直到序列為空或者只有一個元素。

過程演示

這是我畫的一張圖,結合這張圖再看下面的代碼可能會比較好理解一點,當然在看代碼的時候最后可以自己畫一張草圖,可以熟悉一下整個過程,加深理解!

代碼實現

public class QuickSort {

public static void main(String[] args) {

int[] arr = new int[] {9,4,6,8,3,10,4,6};

quickSort(arr,0,arr.length - 1);

System.out.println(Arrays.toString(arr));

}

public static void quickSort(int[] arr,int low,int high) {

int p,i,j,temp;

if(low >= high) {

return;

}

//p就是基準數,這里就是每個數組的第一個 p = arr[low];

i = low;

j = high;

while(i < j) {

//右邊當發現小于p的值時停止循環 while(arr[j] >= p && i < j) {

j--;

}

//這里一定是右邊開始,上下這兩個循環不能調換(下面有解析,可以先想想)

//左邊當發現大于p的值時停止循環 while(arr[i] <= p && i < j) {

i++;

}

temp = arr[j];

arr[j] = arr[i];

arr[i] = temp;

}

arr[low] = arr[i];//這里的arr[i]一定是停小于p的,經過i、j交換后i處的值一定是小于p的(j先走) arr[i] = p;

quickSort(arr,low,j-1); //對左邊快排 quickSort(arr,j+1,high); //對右邊快排

}

}

一些問題

1.什么是基準值:

其實就是在數組里面找一個數,一般選擇數組的第一個數作為基準值,當然這不一定是最佳的基準值,但這不妨礙我們做快速排序。本篇只講標配版的快排,所以就選第一位作為基準值,以后有機會再更新高配版的~

2.快排中為什么一定是右邊先開始循環?

從右邊先開始的前提是我們選擇序列中最左邊的元素最為基準值。

先從右邊開始可以保證i,j相等的時候,arr[i] = arr[j] 小于基準值p。這樣交換之后才能保證基準值左右兩邊分別小于和大于它的值。

我們圖片演示一下:

可以發現如果左邊先走的話將導致分組不成功,即左邊的元素并不是都小于基準值。

本篇完,如果有錯誤的地方歡迎大家指正,一起學習一起進步

我的公眾號:Java小部落

我的個人博客:http://www.fangjiaxian.cn

不定時發發筆記,找一起學習的伙伴,歡迎大家來搞~

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的快速排序 java导包_排序算法-快速排序(Java实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区三区日韩在线 | 免费三片在线视频 | 中文字幕在线看片 | 黑人3p波多野结衣在线观看 | 男人的天堂97 | 大地资源中文第三页 | 成年人看的毛片 | 成人精品网 | 亚洲精品国产精品乱码视色 | 中文高清av | 性欧美最猛 | 午夜小网站| 成人做爰66片免费看网站 | 视频二区 | 亚洲av成人精品午夜一区二区 | 在线观看国产 | 国产剧情久久 | 欧美日b片 | 亚洲精品麻豆 | 羞辱狗奴的句子有哪些 | 天堂网在线资源 | 国内偷拍精品视频 | 波多野结衣www | 国产人成免费视频 | 免费看一区二区三区 | 亚洲高清视频在线 | 欧美精品欧美精品系列 | 国产精品传媒视频 | 亚洲精品一区二区三区蜜桃 | 国产裸体美女永久免费无遮挡 | 国产欧美日韩在线观看 | 免费三级黄 | 黄色网页网站 | 国产精品免费视频观看 | 久久成人综合网 | 日本啊v在线 | 国产精品99久久久久久久久 | 美女高潮视频在线观看 | 在线视频亚洲欧美 | 日韩视频在线视频 | 青青草97国产精品麻豆 | 日日噜噜噜夜夜爽爽狠狠 | 久久的色偷偷 | 精品影视一区二区 | 日韩免费在线观看 | 人碰人操 | 黄色片免费观看视频 | 国产亚洲欧美日韩高清 | 人妻少妇无码精品视频区 | 国产精品18久久久久久久久 | 国产免费无遮挡 | 雨宫琴音一区二区三区 | 天天色官网 | 中文字幕无码精品亚洲资源网久久 | 九色福利 | 香港一级纯黄大片 | 涩涩视频免费看 | 国产成人av网站 | 91中文字幕在线观看 | 奴性女会所调教 | 欧美一级淫片免费视频黄 | 亚洲黄色小说图片 | 天天爽天天 | 天天干干天天 | 做爰无遮挡三级 | 夫妻自拍偷拍 | 午夜剧场福利 | 青青青免费在线视频 | 手机看片中文字幕 | 一区二区三区视频免费看 | 亚洲视频国产视频 | 欧美一级日韩一级 | 日本伦理一区 | 日本精品一区二区视频 | 粉嫩久久99精品久久久久久夜 | 一区二区三区在线观看免费视频 | 国产一区免费视频 | 国产午夜一区 | 午夜理伦三级做爰电影 | 欧美成人精品欧美一级乱 | 成人蜜桃视频 | 日本成人在线不卡 | 天天干夜夜夜夜 | 日本成人黄色片 | yjizz视频网 国产乱人对白 | 亚洲天堂网一区 | 国产精品免费一区二区三区四区 | 男男gay动漫| 欧美一区二区三区免费观看 | 日韩免费在线视频观看 | 中文字幕一区二区在线观看视频 | 国产一二三 | 亚洲aⅴ| 初尝情欲h名器av | 一区二区三区资源 | 在线中文字幕播放 | 肉嫁高柳家在线看 | 国模人体一区二区 | 91午夜在线 |