日韩性视频-久久久蜜桃-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实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美日本在线 | 久草资源网 | 亚洲综合精品视频 | 成人看片黄a免费看视频 | 亚洲无码精品在线播放 | 成人免费看毛片 | 一区二区三区四区中文字幕 | 欧美日韩成人在线播放 | 中文天堂av | 精品久久久久久无码国产 | 天堂素人约啪 | 日韩在线精品视频一区二区涩爱 | 国产欧美日韩专区 | 韩国女主播一区二区 | 国产欧美在线播放 | 久久综合伊人 | 日韩视频免费看 | 国模私拍在线观看 | 国产又粗又猛又黄又爽的视频 | 邻居少妇张开双腿让我爽一夜 | 男生和女生差差视频 | 99自拍偷拍 | 美女免费网站 | 久久久久久中文字幕 | 狼人综合网 | 国产91沙发系列 | 丁香五色月 | 国产精品久久久久久久久久免费看 | 69av视频在线观看 | 日本美女一区二区 | 国产日韩一区二区在线 | 欧洲日韩一区二区三区 | 日韩一级免费视频 | free性满足hd国产精品久 | 亚洲精品一卡二卡 | 欧美日韩免费网站 | 国产伦精品一区二区三区照片91 | 深夜激情网 | 中文字幕在线观看免费高清 | 苍井空张开腿实干12次 | 精品一区二区久久久久久按摩 | 精品国产乱码久久久久久108 | 丝袜老师办公室里做好紧好爽 | 国产精品视频在线观看免费 | 久久av免费观看 | aaa亚洲精品 | 日本最黄网站 | a级片一区二区 | 久久99国产精品久久99果冻传媒 | 激情成人综合 | 曰本黄色大片 | 人妻精品无码一区二区 | 丰满人妻一区二区三区53 | 特级淫片aaaaaaa级 | av九九九| 男人的天堂日韩 | jizzjizz日本免费视频 | 水蜜桃亚洲精品 | 黄色成人免费视频 | 国产精品一区麻豆 | 欧美日韩国产一区二区 | 天天视频入口 | 色婷婷av一区二区三区大白胸 | 欧美激情图片 | jizz中国女人高潮 | 高h乱l高辣h文短篇h | 干极品美女 | 李宗瑞91在线正在播放 | 国产亚洲成人av | xxxx999| 娇小激情hdxxxx学生 | 亚洲综合婷婷 | 99久久久国产精品无码性 | avav亚洲| 色呦呦一区二区三区 | 一二三区在线 | 欧美日韩一级二级三级 | 成人深夜电影 | 日韩精品国产精品 | 国产精品视频麻豆 | 成人亚洲一区二区 | 国产一级片精品 | 久久白浆 | 国产精品精品软件视频 | 99精品国产成人一区二区 | 日本免费不卡视频 | 2021亚洲天堂 | 亚洲视频一 | 中国毛片视频 | 91嫩草在线| 日韩性生活大片 | 超级碰在线视频 | 九一精品在线 | 国产麻豆剧果冻传媒白晶晶 | 国语对白清晰刺激对白 | 亚洲一区h | 日本专区在线 | 亚洲激情午夜 | 成人精品久久久 |