數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(排序算法)_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(排序算法)_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(排序算法)_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(排序算法)_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(排序算法)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1輸入部分:要求用戶能從屏幕上格式化輸入元素個(gè)數(shù)。系統(tǒng)將自動(dòng)生成用戶輸入的元素個(gè)數(shù),存儲(chǔ)在線性表list中。一種,然后程序根據(jù)用戶的選擇對(duì)線性表list從小到大進(jìn)行排序。最終,輸出排序結(jié)果。1.1 插入排序思路:設(shè)有一組關(guān)鍵字K1,K2,.,Kn,排序開始變認(rèn)為 K1 是一個(gè)有序的序列,讓 K2 插入到表長為 1 的有序序列,使之成為一個(gè)表長為2的有序序列, 讓K3插入到表長為2的有序序列,使之成為一個(gè)表長為 3 的有序序列,依次類推,最后讓 Kn 插入上述表長為 n-1 的有序序列,得到一個(gè)表長為n 的有序序列。1.2 冒泡排序思路:比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩步驟,直

2、到?jīng)]有任何一對(duì)數(shù)字需要比較。1.3 選擇排序1排序序列末尾。以此類推,直到所有元素均排序完畢。1.4 快速排序思路:以第一個(gè)關(guān)鍵字 K1 為控制字,將K1、K2、.Kn分成兩個(gè)子區(qū),使左區(qū)的有關(guān)鍵字小于等于 K1,右區(qū)所有關(guān)鍵字大于等于狀態(tài)。將右區(qū)首、尾指針保存入棧,對(duì)左區(qū)進(jìn)行與第(1)步相類似步,直到左區(qū)處理完畢。然后退棧對(duì)一個(gè)個(gè)子區(qū)進(jìn)行相類似的處理,直到棧空。2程序流程可以用以下流程圖來刻畫201234程序結(jié)束3詳細(xì)設(shè)計(jì)采用Microsoft Visual C+6.0作為開發(fā)工具,C語言作為開發(fā)語言。用順序表類來儲(chǔ)存數(shù)字,并編寫插入排序、冒泡排序、選擇排序及快速排序等成員函數(shù)。3.1 函數(shù)

3、和結(jié)構(gòu)體的聲明3用C中的結(jié)構(gòu)體來描述一個(gè)順序表的定義:struct SqListint dataMAX;int length;3.2成員函數(shù)簡(jiǎn)介A.SqList:SqList()n個(gè)正整數(shù),建立順序表list.B.void SqList:show()函數(shù)的功能:輸出順序表內(nèi)元素。C.int SqList:Length()函數(shù)的功能:返回順序表長度。返回值:整型類型:順序表的長度D.void SqList: InsertSort()函數(shù)的功能:對(duì)順序表進(jìn)行插入排序。E.void SqList: BubbleSort()函數(shù)的功能:對(duì)順序表進(jìn)行冒泡排序。F.void SqList: SelectS

4、ort()函數(shù)的功能:對(duì)順序表進(jìn)行選擇排序。G.void SqList: QuickSort(int left, int right)4函數(shù)的功能:對(duì)順序表進(jìn)行快速排序。4源代碼 :L=i= i ) =%=5 = i ( ) L = = () ( =( ) = =( -p ( ) L = =()( )j( ) 1( ) 8= = = =(=()( ) = ( = i = j 9= = = = 退 10 5測(cè)試結(jié)果115.1 插入排序125.2 冒泡排序5.3 選擇排序135.4 快速排序6下不斷進(jìn)行自我完善,糾正由于思考不深引起的誤區(qū)。比起 C 語言而言,數(shù)據(jù)結(jié)構(gòu)是以C 為基礎(chǔ),但要求的質(zhì)量更高,篇幅也在加大,邏輯思維的要求也相應(yīng)提高。關(guān)重要的,要知道一個(gè)比較好的程序,不僅要求清楚易懂,還要講究14那就會(huì)相隔千里,實(shí)踐中出真知是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)中給我復(fù)習(xí)的。式,怎樣將程序變得容易操作,因?yàn)楹?C 語言相比,數(shù)據(jù)結(jié)構(gòu)有固雜的程序需要化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論