版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、插入排序1.直接插入排序原理:將數組分為無序區(qū)和有序區(qū)兩個區(qū),然后不斷將無序區(qū)的第一個元素按大小順序 插入到有序區(qū)中去,罠終將所有無序區(qū)元素都移動到有序區(qū)完成排序。要點:設立哨兵,作為臨時存儲和判斷數組邊界之用。實現(xiàn):Voi d I nse rt S o r t (No d e L ,int I e n gth)Int i, j;/分別為有序區(qū)和無序區(qū)指針f or (i= 1 ; i <leng t h ; i +) / / 逐步擴大有序區(qū)j=i+1;if(Lj<Li )L 0 =L j;/存儲待排序元素While (LO<Li ) /查找在有序區(qū)中的插入位置,同時移 動元素
2、L i +1=L i : /移動i-一: /查找Li+1 = L0 ;/將元素插入i=j- 1 ;/還原有序區(qū)指針12.希爾排序原理:又稱增量縮小排序。先將序列按增量劃分為元素個數相同的若干組,使用直 接插入排序法進行排序,然后不斷縮小增量直至為1,最后使用直接插入排序完成排序。要點:增量的選擇以及排序置終以1為增量進行排序結束。實現(xiàn):Vo i d s h e I I So r t (No d e L , int d)Wh ile(d>=1)/直到增量縮小為1ShelKL, d);d=d/2;縮小增量Void Shell (Node L , i nt d )I nt i , j ;For
3、 (i=d+1; i< I engt h : i +)if(L i <Li-d)L 0=L i;j=i-d ;Whi le(j>0&&Lj>L 0)Lj+d=Lj; /移動j =j-d: 查找L j +d =L0;11交換排序1 . W泡排序原理:將序列劃分為無序和有序區(qū),不斷通過交換較大元素至無序區(qū)尾完成排序。 要點:設計交換判斷條件,提旃結束以排好序的序列循環(huán)。實現(xiàn):Void BubbI e Sort (Node L )I nt i , j;Bool i sc h ang e d; / /設計跳出條件For (j=n; j<0; j)i s c
4、 h an g e d = f a I s e ;For( i =0;i<j;i+)I f (L i >Li+1)/如果發(fā)現(xiàn)較重元素就向后移動I nt t emp=Li;Li=L i +1J:Li 4-1 =temp;I schanged =t r ue;1I f(! i schanged)/若沒有移動則說明序列已經有序,直接跳出B r eak;12.快速排序原理:不斯尋找一個序列的中點,然后對中點左右的序列遞歸的進行排序,直至全部序 列排序完成,使用了分治的思想。要點:遞歸、分治實現(xiàn):選擇排序1.直接選擇排序原理:將序列劃分為無序和有序區(qū),尋找無序區(qū)中的最小值和無序區(qū)的首元素交換
5、,有 序區(qū)擴大一個,循環(huán)置終完成全部排序。要點:實現(xiàn):Void Se I e c t Sort (No de L )I nt i,j,k;分別為有序區(qū),無序區(qū),無序區(qū)最小元素指針For ( i = 0 ; i< I eng th; i+)k=i;For (j=i+1; j<l eng th ; j+)I f (Lj<LkJ)k=j;I f (k! = i) /若發(fā)現(xiàn)罠小元素,則移動到有序區(qū)Int temp=Lk;Lk=L il;L i=Lt emp;2.堆排序原理:利用大根堆或小根堆思想,首先建立堆,然后將堆首與堆尾交換,堆尾之后為有序 區(qū)。要點:建堆、交換、調整堆實現(xiàn):Vo
6、 i d Hea p Sort (No d e L)Bu i Idi n g Hea p (L) ; / / 建堆(大根堆)Fo r ( i nt i = n ; i >0; i) / /交換I nt tem p =L i;Li=LO;L 0 =tem p ;Heap i f y (L,0, i);/調整堆1Void B u iIdingHea p (Node L ) Fo r (i = length / 2 T ; i>0; i )H e apify (L, i, I e ngth):歸并排序原理:將原序列劃分為有序的兩個序列,然后利用歸并算法進行合并,合并之后即為有 序序列。要
7、點:歸并、分治實現(xiàn):Void M e rg e Sort ( N o de L , in t m, in t n)I nt k :If (m<n)K=(m+n) /2;M e rgeSort (Lv m, k);Merg e S o r t (L, k +1, n);M e r ge (L, mt k, n):基數排序原理:將數字按位數劃分出n個關鍵字,毎次針對一個關鍵字進行排序,然后針對排序 后的序列進行下一個關怯字的排序,循環(huán)至所有關鍵字都使用過則排序完成。要點:對關鍵字的選取,元素分配收集。實現(xiàn):Vo i d Rad i xSo r t (N ode L, lengt h , ma x ra d ix)I nt m,n,k, I sp;k =1;m=1;I nt temp 10 length-":Empty (temp) ;/清空臨時空間Whi I e (k<ma x radix)/遍歷所有關鍵字Fo r ( i rrt i=0; i V len g th; i +) /分配過程lf(Li<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年跨國技術轉讓合同不可抗力規(guī)定
- 2024年高效農機具租賃合作協(xié)議書3篇
- 2024版夫妻雙方共同財產分割合同版B版
- 2024年電纜敷設施工勞務分包合同
- 2024年二零二四年度國際貿易銷售合同英語范本手冊3篇
- 自卸車機械原理課程設計
- 2024年電工承攬協(xié)議標準格式樣本版B版
- 自主探索滑梯課程設計
- 移動通信課程設計張玉華
- 2024年設備租賃合同-設備租賃公司為客戶提供租賃設備
- 銀行解押合同范本
- 2024-2030年中國紋身針行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 部編版道德與法治九年級上冊每課教學反思
- 2024云南保山電力股份限公司招聘(100人)(高頻重點提升專題訓練)共500題附帶答案詳解
- 人教版(2024)七年級上冊英語 Unit 1 You and Me 語法知識點復習提綱與學情評估測試卷匯編(含答案)
- 六年級期末家長會課件下載
- 煤炭托盤合作協(xié)議書
- 2024年重慶市學業(yè)水平模擬考試地理試卷(二)
- 大班春季班級工作計劃下學期
- 校區(qū)熱水供水系統(tǒng)維護服務第冊維保服務方案
- 2024年重慶鐵路投資集團有限公司招聘筆試沖刺題(帶答案解析)
評論
0/150
提交評論