今天小編給大家分享一下Java怎么實(shí)現(xiàn)冒泡排序,選擇排序,快速排序的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出解放免費(fèi)做網(wǎng)站回饋大家。
冒泡排序(Bubble Sort) 最為簡(jiǎn)單的一種排序,通過(guò)重復(fù)走完數(shù)組的所有元素,通過(guò)打擂臺(tái)的方式兩個(gè)兩個(gè)比較,直到?jīng)]有數(shù)可以交換的時(shí)候結(jié)束這個(gè)數(shù),再到下個(gè)數(shù),直到整個(gè)數(shù)組排好順序。因一個(gè)個(gè)浮出所以叫冒泡排序。雙重循環(huán)時(shí)間 O(n^2)
算法描述:
比較相鄰兩個(gè)數(shù)據(jù)如果。第一個(gè)比第二個(gè)大,就交換兩個(gè)數(shù)
對(duì)每一個(gè)相鄰的數(shù)做同樣1的工作,這樣從開(kāi)始一隊(duì)到結(jié)尾一隊(duì)在最后的數(shù)就是最大的數(shù)。
針對(duì)所有元素上面的操作,除了最后一個(gè)。
重復(fù)1~3步驟,知道順序完成。
代碼可視化:
代碼實(shí)現(xiàn):
選擇排序(Select Sort) 是直觀的排序,通過(guò)確定一個(gè) Key 最大或最小值,再?gòu)膸判虻牡臄?shù)中找出最大或最小的交換到對(duì)應(yīng)位置。再選擇次之。雙重循環(huán)時(shí)間復(fù)雜度為 O(n^2)
算法描述:
在一個(gè)長(zhǎng)度為 N 的無(wú)序數(shù)組中,第一次遍歷 n-1 個(gè)數(shù)找到最小的和第一個(gè)數(shù)交換。
第二次從下一個(gè)數(shù)開(kāi)始遍歷 n-2 個(gè)數(shù),找到最小的數(shù)和第二個(gè)數(shù)交換。
重復(fù)以上操作直到第 n-1 次遍歷最小的數(shù)和第 n-1 個(gè)數(shù)交換,排序完成。
算法可視化:
代碼實(shí)現(xiàn):
快速排序(QuickSort)是排除穩(wěn)定性因素后最常用的排序。給看官介紹兩種使用方法,一種值直接在我文件 stdlib.h 頭文件中的 qsort 函數(shù)實(shí)現(xiàn)是和正常寫(xiě)代碼一樣的。通過(guò)使用qsort(數(shù)組名,長(zhǎng)度,sizeof(第一個(gè)數(shù)長(zhǎng)度),compInc/comoDec) 進(jìn)行實(shí)現(xiàn)數(shù)組的排序。后面的是通過(guò)遞歸調(diào)用的形式。
算法描述:
從數(shù)列中挑出一個(gè)元素作為基準(zhǔn)。
重新排列數(shù)列,把所有的比基準(zhǔn)小的放在基準(zhǔn)前面,反之放在后面(一樣大可任意一邊)完成后基準(zhǔn)處在分區(qū)的中間位置。
通過(guò)遞歸調(diào)用把小于基準(zhǔn)元素和大雨基準(zhǔn)元素的子序列進(jìn)行排序。
算法可視化:
代碼實(shí)現(xiàn):
以上就是“Java怎么實(shí)現(xiàn)冒泡排序,選擇排序,快速排序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。