freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-排序算法演示系統(tǒng)(已修改)

2025-06-17 23:10 本頁面
 

【正文】 各專業(yè)全套優(yōu)秀畢業(yè)設(shè)計圖紙 計算機(jī)學(xué)院 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計 題 目: 數(shù)據(jù)結(jié)構(gòu)排序算法演示系統(tǒng) 班 級: 姓 名: 學(xué) 號: 同組人姓名: 起 迄 日 期 : 課程設(shè)計地點 : 指導(dǎo)教師: 評 閱意見: 成績評定: 評閱人: 日期: 完成日期: 2021 年 12 月 目錄 一、課程設(shè)計的目的 .................................. 1 二、設(shè)計內(nèi)容和要求 .................................. 1 三、數(shù)據(jù)采取的結(jié)構(gòu) .................................. 1 四、功能模塊詳細(xì)設(shè)計 ................................ 1 詳細(xì)設(shè)計思想 ................................. 2 冒泡排序 ................................ 5 快速排序 ................................ 7 直接插入排序 ............................ 9 希爾排序 ............................... 10 直接選擇排序 ........................... 12 堆排序 ................................. 14 ............................... 17 五、總結(jié)或心得體會 ................................. 19 六、參考文獻(xiàn) ...................................... 20 七 、附錄 .......................................... 20 1 一 . 設(shè)計目的 隨著計算機(jī)技術(shù)的發(fā)展,各種排序算法不斷的被提出。排序算法在計算機(jī)科學(xué)中有非常重要的意義,且應(yīng)用很廣泛。在以后的發(fā)展中排序?qū)ξ覀兊膶W(xué)習(xí)和生活的影響會逐漸增大,很有必要學(xué)習(xí)排序知識。此次課程設(shè)計一方面使自己掌握排序的知識,另一方面鍛煉一下團(tuán)隊合作開發(fā)系統(tǒng)的能力。 二 . 設(shè)計內(nèi)容和要求 功能要求: (1)界面友好,易與操作??刹捎貌藛位蚱渌藱C(jī)對話方式進(jìn)行選擇。 (2)實現(xiàn)各種內(nèi)部排序。包括直接插入排序,冒泡排序,直接選擇排序,希爾排序,快速排序,堆排序,歸并排序。 (3)待 排序的元素的關(guān)鍵字為整數(shù)或(字符)。可用隨機(jī)數(shù)據(jù)和用戶輸入數(shù)據(jù)作測試比較。比較的指標(biāo)為有關(guān)鍵字參加的比較次數(shù)和關(guān)鍵字的移動次數(shù) (關(guān)鍵字交換以 3 次計 )。 ( 1) 演示程序以人機(jī)對話的形式進(jìn)行。每次測試完畢顯示各種比較指標(biāo)值的列表,以便比較各種排序的優(yōu)劣。 三 . 本設(shè)計所采用的數(shù)據(jù)結(jié)構(gòu) typedef struct { int key。 }RecType。 四 .功能模塊詳細(xì)設(shè)計 希爾排序 排序算法演示系統(tǒng) 冒泡排序 歸并排序 快速排序 直接插入排序 直接選擇排序 堆排序 2 詳細(xì)設(shè)計 思想 主函數(shù): include include include define L 8 //排序元素個數(shù) define FALSE 0 define TRUE 1 typedef struct { int key。 }RecType。 RecType R[L]。 int num。 int sum。 int sun。 //定義排序趟數(shù)的全局變量 //系統(tǒng)主界面 //主函數(shù) int main() { RecType S[100]。 int i,k。 char ch1,ch2,q。 printf(\n\t\t***********排序算法演示系統(tǒng) ************\n\n\t\t 請輸入 %d 個待排序的數(shù)據(jù): \n,L)。 for(i=1。i=L。i++) { printf(\t\t 請輸入第 %dth 數(shù)據(jù) :,i)。 scanf(%d,amp。S[i].key)。 getchar()。 } ch1=39。y39。 while(ch1==39。y39。) { printf(\n\t\t 菜 單 \n)。 printf(\n\t\t***********************************************\n)。 printf(\n\t\t * 1更新排序數(shù)據(jù) * 2直接插入排序 \n)。 printf(\n\t\t * 3希 爾 排 序 * 4冒 泡 排 序 \n)。 printf(\n\t\t * 5快 速 排 序 * 6直接 選擇排序 \n)。 printf(\n\t\t * 7堆 排 序 * 8歸 并 排 序 \n)。 printf(\n\t\t **********0退 出 ************ \n)。 printf(\n\t\t********************************************\n)。 3 printf(\n\t\t 請選擇 :)。 scanf(%c,amp。ch2)。 getchar()。 for(i=1。i=L。i++) { R[i].key=S[i].key。 } switch(ch2) { case 39。139。: printf(\n\t\t 請輸入 %d 個待排序數(shù)據(jù) \n\t\t,L)。 for(i=1。i=L。i++) { scanf(%d,amp。S[i].key)。 getchar()。 printf(\t\t)。 } printf(\n\t\t 數(shù)據(jù)輸入完畢! )。 break。 case 39。239。: Insertsort()。 break。 case 39。339。: Shellsort()。 break。 case 39。439。: Bubblesort()。 break。 case 39。539。: printf(\n\t\t 原始數(shù)據(jù)為(按回車鍵開始排序): \n\t\t)。 for(k=1。k=L。k++) { printf(%5d,R[k].key)。 } getchar()。 printf(\n)。 num=0。sun=0。sum=0。 Quicksort(1,L)。 printf(\n\t\t 排序最終結(jié)果是: \n\t\t)。 for(k=1。k=L。k++) { printf(%5d,R[k].key)。 } printf(\n\t\t 比較次數(shù)是: %d\n\t\t,sum)。 4 printf(\n\t\t 交換次數(shù)是: %d\n\t\t,sun)。 break。 case 39。639。: Selectsort()。 break。 case 39。739。: Heap()。 break。 case 39。839。: Mergesort()。 break。 case 39。039。: ch1=39。n39。 break。 default: system(cls)。//清屏 printf(\n\t\t 對不起,您輸入有誤,請重新輸入! \n)。 break。 } if(ch2!=39。039。) { if(ch2==39。239。||ch2==39。339。||ch2==39。439。||ch2==39。539。||ch2==39。639。||ch2==39。739。||ch2==39。839。) { printf(\n\n\t\t 排序完畢! )。 printf(\n\t\t 按回車鍵繼續(xù)! )。 q=getchar()。 if(q!=39。\n39。) { getchar()。 ch1=39。n39。 } } } } return 1。 } 5 圖一 主界面 冒泡排序 核心思想 依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放在后面,第一輪比較后,最大的數(shù)便被放到了最后;第二輪操作前 n1 個數(shù)據(jù)(假設(shè)有 n個數(shù)據(jù)),依然是依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放在后面,倒數(shù)第二個數(shù) 便是第二大的數(shù);同理第 i 輪操作前 ni+1 的數(shù)據(jù)(假設(shè) i 取值是從 1開始的),則ni+i 位置上的數(shù)據(jù)為第 i 大的數(shù)據(jù)。一共有 n1輪,第 i 輪比較中共比較 ni次比較。 核心代碼 void Bubblesort() {
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1