課程設(shè)計(jì)(論文)-各種排序_第1頁(yè)
課程設(shè)計(jì)(論文)-各種排序_第2頁(yè)
課程設(shè)計(jì)(論文)-各種排序_第3頁(yè)
課程設(shè)計(jì)(論文)-各種排序_第4頁(yè)
課程設(shè)計(jì)(論文)-各種排序_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

攀枝花學(xué)院課程設(shè)計(jì)(論文)課程設(shè)計(jì)任務(wù)書(shū)PAGEPAGE2學(xué)生課程設(shè)計(jì)(論文)題目:各種排序?qū)W生姓名:學(xué)號(hào):所在院(系):計(jì)算機(jī)學(xué)院專業(yè):2011級(jí)網(wǎng)絡(luò)工程班級(jí):指導(dǎo)教師:職稱:講師題目各種排序1、課程設(shè)計(jì)的目的(1)鞏固和加深學(xué)生對(duì)C語(yǔ)言課程的基本知識(shí)的理解和掌握;(2)掌握C語(yǔ)言編程和程序調(diào)試的基本技能;(3)利用C語(yǔ)言進(jìn)行簡(jiǎn)單軟件設(shè)計(jì)的基本思路和方法;(4)提高運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的能力。2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)[問(wèn)題描述]:用程序?qū)崿F(xiàn)對(duì)一組數(shù)據(jù)的排序,分別使用選擇、冒泡和插入排序方法[基本要求]:1、可以選擇按從小到大的順序排列,也可以選擇從大到小的順序排列;2、顯示最好情況下及最壞情況下數(shù)據(jù)交換的次數(shù);3、可以選擇一種方法排序,也可以同時(shí)選擇兩種及兩種以上的方法排序;4、輸出每一種選擇后的排序輸出結(jié)果。3、主要參考文獻(xiàn)[1]潭浩強(qiáng),《C程序設(shè)計(jì)》,清華大學(xué)出版社[2]王聲決,《C語(yǔ)言程序設(shè)計(jì)》,中國(guó)鐵道出版社[3]潭浩強(qiáng),《C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)》,清華大學(xué)出版社[4]劉玲等,《C語(yǔ)言程序設(shè)計(jì)應(yīng)用教程》,西南師范大學(xué)出版社4、課程設(shè)計(jì)工作進(jìn)度計(jì)劃[1]潭浩強(qiáng),《C程序設(shè)計(jì)》,清華大學(xué)出版社[2]王聲決,《C語(yǔ)言程序設(shè)計(jì)》,中國(guó)鐵道出版社[3]潭浩強(qiáng),《C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)》,清華大學(xué)出版社[4]劉玲等,《C語(yǔ)言程序設(shè)計(jì)應(yīng)用教程》,西南師范大學(xué)出版社指導(dǎo)教師(簽字)日期年月日教研室意見(jiàn):年月日學(xué)生(簽字):接受任務(wù)時(shí)間:年月日注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě)。攀枝花學(xué)院課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表3課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表題目名稱評(píng)分項(xiàng)目分值得分評(píng)價(jià)內(nèi)涵工作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7通過(guò)實(shí)驗(yàn)、試驗(yàn)、查閱文獻(xiàn)、深入生產(chǎn)實(shí)踐等渠道獲取與課程設(shè)計(jì)有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能力水平35%04綜合運(yùn)用知識(shí)的能力10能運(yùn)用所學(xué)知識(shí)和技能去發(fā)現(xiàn)與解決實(shí)際問(wèn)題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對(duì)課題進(jìn)行理論分析,得出有價(jià)值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題的實(shí)施方案;有收集、加工各種信息及獲取新知識(shí)的能力。06設(shè)計(jì)(實(shí)驗(yàn))能力,方案的設(shè)計(jì)能力5能正確設(shè)計(jì)實(shí)驗(yàn)方案,獨(dú)立進(jìn)行裝置安裝、調(diào)試、操作等實(shí)驗(yàn)工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計(jì)算及計(jì)算機(jī)應(yīng)用能力5具有較強(qiáng)的數(shù)據(jù)運(yùn)算與處理能力;能運(yùn)用計(jì)算機(jī)進(jìn)行資料搜集、加工、處理和輔助設(shè)計(jì)等。08對(duì)計(jì)算或?qū)嶒?yàn)結(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)10具有較強(qiáng)的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(jì)(論文)規(guī)范化程度5符合本專業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計(jì)說(shuō)明書(shū)(論文)質(zhì)量30綜述簡(jiǎn)練完整,有見(jiàn)解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。11創(chuàng)新10對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見(jiàn)解。成績(jī)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師簽名:年月日攀枝花學(xué)院課程設(shè)計(jì)(論文)概要設(shè)計(jì)攀枝花學(xué)院課程設(shè)計(jì)(論文)目錄4 目錄 摘要……………………51問(wèn)題描述……………61.1基本要求………………………62概要設(shè)計(jì)……………72.1系統(tǒng)模塊劃分及定義……………72.2流程圖…………72.3算法思想………………………83詳細(xì)設(shè)計(jì)…………93.1選擇排序源代碼…………………93.2插入排序源代碼…………………93.3冒泡排序源代碼…………………104調(diào)試分析…………125測(cè)試結(jié)果…………136總結(jié)………………14參考文獻(xiàn)……………15攀枝花學(xué)院課程設(shè)計(jì)(論文)摘要5摘要排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,在數(shù)據(jù)處理中占有極其重要的位置。有資料表明,在當(dāng)今計(jì)算機(jī)系統(tǒng)中,CPU有50%以上的處理時(shí)間是用在數(shù)據(jù)排序上的[1]。排序有很多種,如插入排序、交換排序、選擇排序、歸并排序等。而選擇法排序是其中一個(gè)比較簡(jiǎn)單而有效的排序方法,也是C語(yǔ)言中一維數(shù)組的經(jīng)典算法。因此我們不得不熟練的掌握選擇排序法。攀枝花學(xué)院課程設(shè)計(jì)(論文)問(wèn)題描述6問(wèn)題描述用程序?qū)崿F(xiàn)對(duì)一組數(shù)據(jù)的排序,分別使用選擇、冒泡和插入排序方法冒泡算法特點(diǎn):相鄰元素兩兩比較,每趟將最值沉底即可確定一個(gè)數(shù)在結(jié)果的位置,確定元素位置的順序是從后往前,其余元素可能作相對(duì)位置的調(diào)整??梢赃M(jìn)行升序或降序排序。選擇算法特點(diǎn):每趟是選出一個(gè)最值確定其在結(jié)果序列中的位置,確定元素的位置是從前往后,而每趟最多進(jìn)行一次交換,其余元素的相對(duì)位置不變??蛇M(jìn)行降序排序或升序排序。插入算法特點(diǎn):每趟從無(wú)序序列中取出第一個(gè)數(shù)插入到有序序列的合適位置,元素的最終位置在最后一趟插入后才能確定位置。也可是先用循環(huán)查找插入位置(可從前往后或從后往前),再將插入位置之后的元素(有序列中)逐個(gè)后移一個(gè)位置,最后完成插入。該算法的特點(diǎn)是在尋找插入位置的同時(shí)完成元素的移動(dòng)。因?yàn)樵氐囊苿?dòng)必須從后往前,則可將兩個(gè)操作結(jié)合在一起完成,提高算法效率。仍可進(jìn)行升序或降序排序。1.1基本要求 可以選擇按從小到大的順序排列,也可以選擇從大到小的順序排列;顯示最好情況下及最壞情況下數(shù)據(jù)交換的次數(shù);可以選擇一種方法排序,也可以同時(shí)選擇兩種及兩種以上的方法排序;輸出每一種選擇后的排序輸出結(jié)果。攀枝花學(xué)院課程設(shè)計(jì)(論文)概要設(shè)計(jì)72.概要設(shè)計(jì)2.1系統(tǒng)模塊劃分及定義Include<stdio.h>,頭文件,功能是對(duì)函數(shù)進(jìn)行聲明。main,主函數(shù),功能是作為程序的入口并實(shí)現(xiàn)對(duì)問(wèn)題的處理。a[],數(shù)組,功能是方便對(duì)main函數(shù)中的數(shù)據(jù)進(jìn)行相應(yīng)的處理運(yùn)算。for(,,,)語(yǔ)句,功能是對(duì)main函數(shù)中的數(shù)據(jù)進(jìn)行循環(huán)比較。scanf,printf,數(shù)據(jù)庫(kù)函數(shù),功能分別是輸入原始數(shù)據(jù),輸出運(yùn)行結(jié)果。2.2流程圖圖2.2.1-1選擇排序流程圖圖2.2.1-2插入排序流程圖圖2.2.1-3冒泡排序流程圖2.3算法思想選擇排序(SelectionSort)的基本思想是:每一趟從待排序的記錄中選出關(guān)鍵字最小的記錄,順序放在已排好序的子文件的最后,直到全部記錄排序完畢。插入排序(InsertionSort)的基本思想是:每次將一個(gè)待排序的記錄,按其關(guān)鍵字大小插入到前面已經(jīng)排好序的子文件中的適當(dāng)位置,直到全部記錄插入完成為止。交換排序的基本思想是:兩兩比較待排序記錄的關(guān)鍵字,發(fā)現(xiàn)兩個(gè)記錄的次序相反時(shí)即進(jìn)行交換,直到?jīng)]有反序的記錄為止。

攀枝花學(xué)院課程設(shè)計(jì)(論文)詳細(xì)設(shè)計(jì)攀枝花學(xué)院課程設(shè)計(jì)(論文)詳細(xì)設(shè)計(jì)93.詳細(xì)設(shè)計(jì)3.1選擇排序源代碼#include<stdio.h>main(){inta[10],i,j,k,t,n=10;intcount=0;printf("Pleaseinput10numbers:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++)/*外循環(huán)控制趟數(shù),n個(gè)數(shù)選n-1趟*/{k=i;/*假設(shè)當(dāng)前趟的第一個(gè)數(shù)為最值,記在k中*/for(j=i+1;j<n;j++)/*從下一個(gè)數(shù)到最后一個(gè)數(shù)之間找最值*/if(a[k]<a[j])/*若其后有比最值更大的*/k=j;/*則將其下標(biāo)記在k中*/if(k!=i)/*若k不為最初的i值,說(shuō)明在其后找到比其更大的數(shù)*/{t=a[k];a[k]=a[i];a[i]=t;}/*則交換最值和當(dāng)前序列的第一個(gè)數(shù)*/count++;}printf("Thesortednumbers:");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");printf("%d\n",count);}3.2插入排序源代碼#include<stdio.h>main(){inta[10],i,j,t,count=0;printf("Pleaseinput10numbers:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=1;i<10;i++)/*外循環(huán)控制趟數(shù),n個(gè)數(shù)從第2個(gè)數(shù)開(kāi)始到最后共進(jìn)行n-1次插入*/{t=a[i];/*將待插入數(shù)暫存于變量t中*/for(j=i-1;j>=0&&t>a[j];j--)/*在有序序列(下標(biāo)0~i-1)中尋找插入位置*/a[j+1]=a[j];/*若未找到插入位置,則當(dāng)前元素后移一個(gè)位置*/a[j+1]=t;/*找到插入位置,完成插入*/count++;}printf("Thesortednumbers:");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");printf("%d\n",count);}3.3冒泡排序源代碼:#include<stdio.h>main(){inti,j,temp,count=0;inta[10];for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=0;j<10;j++){for(i=0;i<10-j;i++)if(a[i]<a[i+1]){temp=a[i];a[i]=a[i+1];a[i+1]=temp;}count++;}for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("交換次數(shù):%d\n",count);}攀枝花學(xué)院課程設(shè)計(jì)(論文)調(diào)試分析124.調(diào)試分析4.1調(diào)試分析:輸入?yún)?shù):9647820153理論排序:9876543210理論排序次數(shù):選擇排序9次插入排序9次冒泡排序10次攀枝花學(xué)院課程設(shè)計(jì)(論文)測(cè)試結(jié)果135.測(cè)試結(jié)果5.1運(yùn)行結(jié)果截圖:圖5.1-1選擇排序運(yùn)行結(jié)果截圖圖5.1-2插入排序運(yùn)行結(jié)果截圖圖5.1-3冒泡排序運(yùn)行結(jié)果截圖攀枝花學(xué)院課程設(shè)計(jì)(論文)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論