




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.快速排序通過一趟排序將要排序的數(shù)據(jù)分割成獨立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對這兩部分數(shù)據(jù)分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數(shù)據(jù)變成有序序列。/* Created by adrian on 2015/1/25.* 快速排序:通過一趟排序將要排序的數(shù)據(jù)分割成獨立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小* ,然后再按此方法對這兩部分數(shù)據(jù)分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數(shù)據(jù)變成有序序列。*/public class QuickSort / 初始化數(shù)組public static void
2、init(int array Random random = new Random(;for (int i = 0; i array.length; i+arrayi = random.nextInt(1000;/ 打印數(shù)組public static void display(int array for (int i = 0; i = hightreturn;/ 比較值int key = arraylow;/ 原始下標int low_index = low, hight_index = hight;while (low hight / 如果低位下標小于高位下標并且高位值不小于比較值while
3、(low = keyhight-;/ 符合條件的值(小于比較值被移到key的左邊arraylow = arrayhight;/ 如果低位下標小于高位下標并且低位值不大于比較值while (low hight & arraylow = keylow+;/ 符合條件的值(大于比較值被移到key的右邊arrayhight = arraylow;/ key值位置(此時的結果是low=hightarraylow = key;/ 遞歸左邊部分quick(array, low_index, low - 1;/ 遞歸右邊部分quick(array, low + 1, hight_index;/ 測試publi
4、c static void main(String args int array = new int100;init(array;display(array;quick(array, 0, array.length - 1;display(array;2.希爾排序希爾排序是按照不同步長對元素進行插入排序,當剛開始元素很無序的時候,步長最大,所以插入排序的元素個數(shù)很少,速度很快;當元素基本有序了,步長很小,插入排序對于有序的序列效率很高。/* Created by adrian on 2015/1/25.* 希爾排序:按照不同步長對元素進行插入排序,當剛開始元素很無序的時候,步長最大,所以插入排
5、序的元素個數(shù)很少* ,速度很快;當元素基本有序了,步長很小,插入排序對于有序的序列效率很高。*/public class ShellSort / 初始化數(shù)組public static void init(int array Random random = new Random(;for (int i = 0; i array.length; i+arrayi = random.nextInt(1000;/ 打印數(shù)組public static void display(int array for (int i = 0; i array.length; i+ / 換行if (i + 1 % 10
6、= 0/* 對每個步長增量序列排序* param array* 數(shù)組* param d* 步長* param begainIndex* 第一個排序下標*/private static void insert(int array, int d, int begainIndex for (int i = begainIndex + d; i array.length; i += d for (int j = begainIndex; j i; j += d if (arrayi j; k -= d arrayk = arrayk - d;arrayj = tempValue;/* param ar
7、ray* 數(shù)組*/public static void shell(int array / 步長int d = array.length 1;while (d = 1 / 對每個步長增量序列排序for (int i = 0; i = 1;/ 測試public static void main(String args int array = new int100;init(array;display(array;shell(array;display(array;3.歸并排序合并排序法是將兩個(或兩個以上有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然后再把有序
8、子序列合并為整體有序序列。/* Created by adrian on 2015/1/26.* 歸并排序:首先是根據(jù)元素構建堆。然后將堆的根節(jié)點取出(一般是與最好一個節(jié)點進行交換,將前面len* -1個節(jié)點繼續(xù)進行堆調整的過程,然后再將根節(jié)點取出,這樣一直到所有節(jié)點都取出*/public class MergeSort / 初始化數(shù)組public static void init(int array Random random = new Random(;for (int i = 0; i array.length; i+arrayi = random.nextInt(1000;/ 打印數(shù)組
9、public static void display(int array for (int i = 0; i 1; if (len 1 int leftArray = Arrays.copyOfRange(array, 0, middle; int rightArray = Arrays.copyOfRange(array, middle, len; mergeSort(leftArray; mergeSort(rightArray; merge(array, leftArray, rightArray; / 合并數(shù)組,升序 private static void merge(int result, int left, int right int i = 0, l = 0, r = 0; while (l left.length & r right.length if (leftl rightr resulti = leftl; i+; l+; else re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年保健按摩師(按摩保健操練習)職業(yè)技能鑒定試卷
- 2025年評茶員(二級)茶葉投資分析與風險評估考試試卷
- 2025年電子商務師(中級)考試試卷:電商數(shù)據(jù)分析方法與應用試題解析
- 2025年德語TestDaF閱讀真題試卷(德語考試)攻略
- 2025年小學英語畢業(yè)考試模擬卷(英語綜合實踐口語與寫作)
- 2025年電子商務師(高級)考試試卷:電商數(shù)據(jù)分析與用戶畫像
- 軟件業(yè)軟件開發(fā)流程優(yōu)化與管理方法研究
- 農村合作社與農戶土地使用權流轉協(xié)議
- 線上直播帶貨平臺合作協(xié)議
- 2025年大學英語四級考試模擬試卷:翻譯能力提升與真題分析
- 房屋建筑與市政工程重大事故安全隱患判定標準解讀課件
- DB43-T 1267-2023 機動車檢驗機構建設和運行管理規(guī)范
- 公司稅務注銷協(xié)議書
- 2025年人力資源管理專業(yè)期末考試卷及答案
- 防溺水安全家長會課件
- 第四單元:促銷問題(方案選擇問題)專項練習(學生版+解析)-2024-2025學年六年級數(shù)學上冊培優(yōu)精練(北師大版)
- 放射科實習生入科教育
- 國家開放大學國開電大《幼兒園課程基礎》形考任務1~4答案
- 2025至2030中國翡翠市場經(jīng)營績效與投資狀況研究報告
- 神經(jīng)可塑性在教育中的應用探索-全面剖析
- 2025年安全生產月主題培訓課件
評論
0/150
提交評論