數(shù)據(jù)結(jié)構(gòu)排序綜合_第1頁
數(shù)據(jù)結(jié)構(gòu)排序綜合_第2頁
數(shù)據(jù)結(jié)構(gòu)排序綜合_第3頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄1. 需求分析 12. 概要設(shè)計 13. 詳細設(shè)計 24. 測試分析 19課程設(shè)計總結(jié) 22參 考 文 獻 24一、需求分析 問題描述:此次的任務(wù)是利用隨機函數(shù)產(chǎn)生N個隨機整數(shù),對這些數(shù)進行多種方法進行排序,分別是插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸并 排序)。并把排序后的結(jié)果保存在不同的文件中。然后統(tǒng)計每一種排序方法的性能(以上 機運行程序所花費的時間為準(zhǔn)進行對比) ,找出其中兩種較快的方法。 基本要求:數(shù)據(jù)輸入的形式和輸入值的范圍:設(shè)定的隨機數(shù)據(jù)的范圍是0到 30000,產(chǎn)生 30000個,類型均為整型。數(shù)據(jù)輸出的形式:程序以一個排序完成后的有序數(shù)組來輸出。程序

2、所設(shè)計的功能:(1)構(gòu)建菜單,為每種排序方法設(shè)定一個選項數(shù)字,用戶可根據(jù)需要選擇不同的排序方 法??梢赃x擇的方法有:插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排 序、歸并排序共七種。(2)每種排序結(jié)束后自動計算該排序的耗時。(3)將排序后的數(shù)據(jù)保存到相應(yīng)的文件里面。(4)數(shù)據(jù)由隨機函數(shù)產(chǎn)生。二、概要設(shè)計為了實現(xiàn)需求分析中的功能,可以從以下 3 個方面著手設(shè)計。1、主界面設(shè)計利用 switch 函數(shù)設(shè)計出菜單,即通過 case 分別調(diào)用不同的排序方法。2、存儲結(jié)構(gòu)設(shè)計 本次存儲結(jié)構(gòu)僅用到了數(shù)組的儲存結(jié)構(gòu)。原因:需要存儲的數(shù)據(jù)是連續(xù)的,數(shù)據(jù)類型也 只有一種,所以用數(shù)組的存儲結(jié)構(gòu)能合理利用

3、存儲空間。而且我們所學(xué)的排序算法是基 于數(shù)組的儲存結(jié)構(gòu)實現(xiàn)的。3、系統(tǒng)功能設(shè)計Head.h:用于聲明必要的頭文件,函數(shù)及結(jié)構(gòu)體Srand.c :用于產(chǎn)生隨機數(shù)Writefile.c :用于將排序結(jié)果存入文件Print.c :用于輸出文件中的排序結(jié)果In sertsort.c :用于將產(chǎn)生的隨機數(shù)進行插入排序 Shellsort.c :用于將產(chǎn)生的隨機數(shù)進行希爾排序 Bubblesort.c :用于將產(chǎn)生的隨機數(shù)進行冒泡排序 Quicksort.c :用于將產(chǎn)生的隨機數(shù)進行快速排序 Selectsort.c :用于將產(chǎn)生的隨機數(shù)進行選擇排序 Heapsort.c :用于將產(chǎn)生的隨機數(shù)進行堆排序

4、Mergesort.c :用于將產(chǎn)生的隨機數(shù)進行歸并排序4、各個程序模塊之間的層次(調(diào)用)關(guān)系:三、詳細設(shè)計1、數(shù)據(jù)類型設(shè)計:typedef int KeyType;/定義關(guān)鍵字類型typedef char In foType10;typedef struct /記錄類型KeyType key;/關(guān)鍵字項In foType data;/其他數(shù)據(jù)項,類型為InfoType RecType;2、詳細算法:頭文件:/*Head.h*/ #in clude<stdio.h>#include <stdlib.h> #include <time.h>/ 定義關(guān)鍵字類型/

5、 記錄類型/ 關(guān)鍵字項/ 其他數(shù)據(jù)項 , 類型為 InfoType/ 排序的記錄類型定義#define MaxSize 20000 typedef int KeyType;typedef char InfoType10; typedef struct KeyType key;InfoType data; RecType;void InsertSort(RecType R,int n);/1.插入排序void Srand(RecType R);/ 隨機函數(shù)void print(RecType R,int a);/打印函數(shù)void BubbleSort(RecType R,int n);/2.冒泡

6、排序void ShellSort(RecType R,int n);/3.希爾排序void QuickSort(RecType R,int s,int t);/4.快速排序void SelectSort(RecType R,int n);/5.選擇排序void Heapsort(RecType R,int n);/6.堆排序void MergeSort(RecType R,int n);/7.歸并排序void Writefile(RecType R,int n,int k);/寫入文件主程序:/*Main.c*/#include"Head.h"RecType RMaxSiz

7、e,R1MaxSize+1; void Menu() int i;clock_t start,finish;double duration;int a,n=MaxSize;printf(" 1. 產(chǎn)生隨機數(shù) n");printf("2.插入排序 n");printf("3.冒泡排序 n");printf("4.希爾排序 n");printf("5.快速排序 n");printf("6.選擇排序 n");printf("7.堆排序 n");printf(&q

8、uot;8.歸并排序 n");printf("9.打印各種排序方法排序后的序列 n");printf("10.清空屏幕 n");printf("11.結(jié)束程序 n");fflush(stdin);printf(" 請輸入一個整數(shù): "); scanf("%d",&a);printf("n");fflush(stdin);switch(a) case 1:Srand(R); break;case 2:for (i=0; i<MaxSize; i+) R1

9、i.key=Ri.key;InsertSort(R1,n); break;case 3:for (i=0; i<MaxSize; i+)R1i.key=Ri.key;BubbleSort(R1,n); break;case 4:for (i=0; i<MaxSize; i+)R1i.key=Ri.key;ShellSort(R1,n);break;case 5:for (i=0; i<MaxSize; i+)R1i.key=Ri.key;start =clock();QuickSort(R1,0,n-1);finish=clock();duration=(double)(fi

10、nish-start)/CLOCKS_PER_SEC; printf(" 快速排序已經(jīng)完成! !n");printf("算法用時 f 秒nn",duration);Writefile(R1,n,5);break;case 6:for (i=0; i<MaxSize; i+)R1i.key=Ri.key;SelectSort(R1,n);break;case 7:for (i=0; i<MaxSize; i+)R1i+1.key=Ri.key;Heapsort(R1,n);break;case 8:for (i=0; i<MaxSize;

11、 i+)R1i.key=Ri.key;MergeSort(R1,n);break;case 9:print(R,a); break;case 10:system("cls"); break;case 11: exit(0);default:printf(" 輸入有誤!請重新輸入 n"); break;int main() while(1) Menu();return 0;子程序:/*Bubblesort.c*/#include"Head.h"void BubbleSort(RecType R,int n) int i,j,k;RecT

12、ype tmp;clock_t start,finish;double duration;start =clock();for (i=0; i<n-1; i+) for (j=n-1; j>i; j-)/ 比較 , 找出本趟最小關(guān)鍵字的記錄if (Rj.key<Rj-1.key) tmp=Rj; /Rj 與 Rj-1 進行交換 , 將最小關(guān)鍵字記錄前移Rj=Rj-1;Rj-1=tmp; finish=clock();duration=(double)(finish-start)/CLOCKS_PER_SEC;printf(" 冒泡排序已經(jīng)完成! !n");

13、 printf("算法用時 f秒nn",duration);Writefile(R,n,1);/*Heapsort.c*/#include"Head.h"void sift(RecType R,int low,int high) int i=low,j=2*i;RecType temp=Ri;while (j<=high) if (j<high && Rj.key<Rj+1.key) j+;if (temp.key<Rj.key) Ri=Rj;i=j;j=2*i; else break;Ri=temp;void H

14、eapsort(RecType R,int n) int i;/Rj 是 Ri 的左孩子/ 若右孩子較大 , 把 j 指向右孩子 / 變?yōu)?2i+1/ 將 Rj 調(diào)整到雙親結(jié)點位置上/ 修改 i 和 j 值 , 以便繼續(xù)向下篩選/ 篩選結(jié)束/ 被篩選結(jié)點的值放入最終位置RecType tmp;clock_t start,finish; double duration; start =clock();for(i=n/2; i>=1; i-) sift(R,i,n);for(i=n; i>=2; i-) tmp=R1; R1=Ri; Ri=tmp; sift(R,1,i-1); fin

15、ish=clock(); duration=(double)(finish-start)/CLOCKS_PER_SEC; printf(" 堆排序已經(jīng)完成! n");printf("算法用時 f秒nn",duration);Writefile(R,n,2);/*Insertsort.c*/按遞增有序進行直接插入排序中找 Ri 的插入位置#include"Head.h"void InsertSort(RecType R,int n) /對 R0.n-1int i,j,k;RecType tmp;clock_t start,finish;

16、double duration;start =clock();for (i=1; i<n; i+) tmp=Ri;j=i-1;/從右向左在有序區(qū) R0.i-1 while (j>=0 && tmp.key<Rj.key) Rj+1=Rj; / 將關(guān)鍵字大于 Ri.key 的記錄后移j-;Rj+1=tmp; / 在 j+1 處插入 Rifinish=clock();duration=(double)(finish-start)/CLOCKS_PER_SEC;printf(" 插入排序已經(jīng)完成! n");printf("算法用時 f秒

17、nn",duration);Writefile(R,n,3);/*Mergesort.c*/#include"Head.h"void Merge(RecType R,int low,int mid,int high) RecType *R1;int i=low,j=mid+1,k=0; k 是R1的下標(biāo),i、j分別為第1、2段的下標(biāo)R1=(RecType *)malloc(high-low+1)*sizeof(RecType); /動態(tài)分配空間while (i<=mid && j<=high)/ 在第 1 段和第 2 段均未掃描完時循環(huán)

18、if (Ri.key<=Rj.key) / R1k=Ri;將第1段中的記錄放入R1中i+;k+; else /將第2段中的記錄放入R1中R1k=Rj; j+;k+;while (i<=mid) / 將第 1 段余下部分復(fù)制到 R1R1k=Ri;k+;while (j<=high) / 將第 2段余下部分復(fù)制到 R1R1k=Rj;j+;k+;for (k=0,i=low; i<=high; k+,i+) /Ri=R1k;void MergePass(RecType R,int length,int n) int i;for (i=0; i+2*length-1<n;

19、 i=i+2*length) Merge(R,i,i+length-1,i+2*length-1);if (i+length-1<n)Merge(R,i,i+length-1,n-1);void MergeSort(RecType R,int n) int length;double duration;start =clock();for (length=1; length<n; length=2*length) /MergePass(R,length,n); finish=clock(); duration=(double)(finish-start)/CLOCKS_PER_SE

20、C; printf(" 歸并排序已經(jīng)完成! n");printf("算法用時 f 秒nn",duration);Writefile(R,n,4);clock_t start,finish;將R1復(fù)制回R中/ 對整個數(shù)序進行一趟歸并/ 歸并 length 長的兩相鄰子表/ 余下兩個子表 , 后者長度小于 length/ 歸并這兩個子表/ 自底向上的二路歸并算法進行 log2n 趟歸并/*Print.c*/#include"Head.h"void print(RecType R,int a) FILE *fp;int i;RecType

21、R2MaxSize+1;/ 用于從文件輸出保存結(jié)果i=0;printf(" 排序結(jié)果如下: n");printf(" 插入排序: n");fp=fopen("Resultfile/InsertSort.dat","rb");while(fread(&R2i.key,sizeof(int),1,fp)=1)i+;fclose(fp);for(i=0; i<MaxSize; i+)printf("%d ",R2i.key);printf("n");i=0;print

22、f(" 希爾排序: n");fp=fopen("Resultfile/ShellSort.dat","rb");while(fread(&R2i.key,sizeof(int),1,fp)=1)i+;fclose(fp);for(i=0; i<MaxSize; i+)printf("%d ",R2i.key);printf("n");i=0;printf(" 冒泡排序: n");fp=fopen("Resultfile/BubbleSort.dat&q

23、uot;,"rb");while(fread(&R2i.key,sizeof(int),1,fp)=1)i+;fclose(fp);for(i=0; i<MaxSize; i+)printf("%d ",R2i.key);printf("n");i=0;printf(" 快速排序: n");fp=fopen("Resultfile/QuickSort.dat","rb");while(fread(&R2i.key,sizeof(int),1,fp)=1)

24、 i+;fclose(fp);for(i=0; i<MaxSize; i+)printf("%d ",R2i.key);printf("n");i=0;printf(" 選擇排序: n");fp=fopen("Resultfile/SelectSort.dat","rb");while(fread(&R2i.key,sizeof(int),1,fp)=1)i+;fclose(fp);for(i=0; i<MaxSize; i+)printf("%d ",R

25、2i.key);printf("n");i=1;printf(" 堆排序: n");fp=fopen("Resultfile/Heapsort.dat","rb");while(fread(&R2i.key,sizeof(int),1,fp)=1)i+;fclose(fp);for(i=1; i<MaxSize+1; i+)printf("%d ",R2i.key);printf("n");i=0;printf(" 歸并排序: n");fp=

26、fopen("Resultfile/MergeSort.dat","rb"); while(fread(&R2i.key,sizeof(int),1,fp)=1) i+;fclose(fp);for(i=0; i<MaxSize; i+)printf("%d ",R2i.key);printf("n");/*Quicksort.c*/#include"Head.h"void QuickSort(RecType R,int s,int t) / 對 Rs 至 Rt 的元素進行快速排序

27、 int i=s,j=t;RecType tmp;if (s<t) / 區(qū)間內(nèi)至少存在兩個元素的情況tmp=Rs; / 用區(qū)間的第 1 個記錄作為基準(zhǔn)while (i!=j) / 從區(qū)間兩端交替向中間掃描 , 直至 i=j 為止while (j>i && Rj.key>=tmp.key)j-;/ 從右向左掃描 , 找第 1 個小于 tmp.key 的 RjRi=Rj; / 找到這樣的 Rj,Ri"Rj 交換while (i<j && Ri.key<=tmp.key)i+;/ 從左向右掃描 , 找第 1 個大于 tmp.ke

28、y 的記錄 RiRj=Ri; / 找到這樣的 Ri,Ri"Rj 交換 Ri=tmp;QuickSort(R,s,i-1);QuickSort(R,i+1,t); /*Selectsort.c*/#include"Head.h"/ 對左區(qū)間遞歸排序/ 對右區(qū)間遞歸排序void SelectSort(RecType R,int n) int i,j,k,l;RecType temp;clock_t start,finish;double duration; start =clock();for (i=0;i<n-1;i+)k=i;for (j=i+1;j<

29、n;j+)/ 做第 i 趟排序/ 在當(dāng)前無序區(qū) Ri.n-1 中選 key 最小的 Rkif (Rj.key<Rk.key)k=j;if (k!=i)temp=Ri;Ri=Rk;Rk=temp;/k 記下目前找到的最小關(guān)鍵字所在的位置 / 交換 Ri 和 Rk finish=clock();duration=(double)(finish-start)/CLOCKS_PER_SEC; printf(" 選擇排序已經(jīng)完成! n");printf("算法用時 f 秒nn",duration);Writefile(R,n,6);/*Shellsort.c

30、*/#include"Head.h"void ShellSort(RecType R,int n) / 希爾排序算法int i,j,gap,k;RecType tmp;gap=n/2; / 增量置初值clock_t start,finish;double duration;start =clock();while (gap>0) for (i=gap; i<n; i+) / 對所有相隔 gap 位置的所有元素組進行排序 tmp=Ri;j=i-gap;while (j>=0 && tmp.key<Rj.key) / 對相隔 gap 位置

31、的元素組進行排序 Rj+gap=Rj;j=j-gap;Rj+gap=tmp; j=j-gap;gap=gap/2; / 減小增量 finish=clock();duration=(double)(finish-start)/CLOCKS_PER_SEC; printf(" 希爾排序已經(jīng)完成! n");printf("算法用時 f秒nn",duration);Writefile(R,n,7);/*Srand.c*/#include"Head.h"void Srand(RecType R) int i;time_t t;srand(uns

32、igned) time(&t);printf(" 隨機函數(shù)產(chǎn)生的隨機序列如下: n");for (i=0; i<MaxSize; i+)printf("%d ",Ri.key=(rand()%MaxSize);printf("nnn");/*Writefile.c*/#include"Head.h"void Writefile(RecType R1,int n,int k) int i;FILE *fp;switch(k) case 1:if(fp=fopen("Resultfile/Bub

33、bleSort.dat","wb")=NULL) printf("t 提示:不能創(chuàng)建文件 n");return;for(i=0; i<n; i+) fwrite(&R1i.key,1,sizeof(int),fp);fclose(fp);printf(" 提示:排序結(jié)果已保存至 BubbleSort.datn"); break;case 2:if(fp=fopen("Resultfile/Heapsort.dat","wb")=NULL) printf("t 提

34、示:不能創(chuàng)建文件 n");return;for(i=1; i<n+1; i+) fwrite(&R1i.key,1,sizeof(int),fp);fclose(fp);printf(" 提示:排序結(jié)果已保存至 Heapsort.datn"); break;case 3:if(fp=fopen("Resultfile/InsertSort.dat","wb")=NULL) printf("t 提示:不能創(chuàng)建文件 n");return;for(i=0; i<n; i+) fwrite(&

35、amp;R1i.key,1,sizeof(int),fp);fclose(fp);printf(" 提示:排序結(jié)果已保存至 InsertSort.datn"); break;case 4:if(fp=fopen("Resultfile/MergeSort.dat","wb")=NULL) printf("t 提示:不能創(chuàng)建文件 n");return;for(i=0; i<n; i+) fwrite(&R1i.key,1,sizeof(int),fp);fclose(fp);printf("

36、提示:排序結(jié)果已保存至 MergeSort.datn");break;case 5:if(fp=fopen("Resultfile/QuickSort.dat","wb")=NULL) printf("t 提示:不能創(chuàng)建文件 n");return;for(i=0; i<n; i+) fwrite(&R1i.key,1,sizeof(int),fp);fclose(fp);printf(" 提示:排序結(jié)果已保存至 QuickSort.datn"); break;case 6: if(fp=fo

37、pen("Resultfile/SelectSort.dat","wb")=NULL) printf("t 提示:不能創(chuàng)建文件 n");return;for(i=0; i<n; i+) fwrite(&R1i.key,1,sizeof(int),fp);fclose(fp);printf(" 提示:排序結(jié)果已保存至 SelectSort.datn"); break;case 7: if(fp=fopen("Resultfile/ShellSort.dat","wb&quo

38、t;)=NULL) printf("t 提示:不能創(chuàng)建文件 n");return;for(i=0; i<n; i+) fwrite(&R1i.key,1,sizeof(int),fp);fclose(fp);printf(”提示:排序結(jié)果已保存至ShellSort.dat'n");break;四、調(diào)試分析1 產(chǎn)生屣機數(shù)3->#= 44希爾匕A5 蘇理9.打印各旳fE序方蛙排序后的序列11.結(jié)新呈存請輸入一個整數(shù):圖1菜單界面窈辟 211 I23K l&U ms 10431 fl* 7tK 144JB 3Wft 2 護 U41 H

39、» LTW4131 NTK »S E33« MME 7W> 3T3 13M LU15-»$t<?3:15mh?=8 汝 Q 1451737® J 粉 SM7 L347<?1&)27L777BH22 M3 MS 110W tl-lO?電曲丫 2cflR 別帕吐蒼 I 殆&Wife 朽 43 】電】2 3 樂】1時 H:L2 M441 4*T L 獅 E 加財 LiL 14fl 也12 1712 W 晦軸魅 11 2ftE IW t&ifl5fS&陽 1 劇軍 SIB? 1291 W5B TZ孔闖S

40、2553施曲和撲西5b 韻轄 lSUL:瞬時甘507&盯刊157S-2T&550ft術(shù) 13師 43監(jiān) 1",;如直 MT&I 到號 L第E 紙貞 76 細犧咖T 2St UU Otl i&TE 4J01f*? nT 沁 MM :J2 沢戢 旳241463 L 兩 81型 02 STO L3?4EE37刃釗 罵匸FTE4L5SLL 閃曲訊芟 1«7& 丹対 +44'3925靈臥3?»9333WC3153?107M132創(chuàng)也囚刪712S6L1也4164tB&?E討50站的缸處5l?t7170.J7E3営治W勧&

41、#169;朋蚯鵬】曲力51陽超 12%ZD34 24X IWTE &UD 田曲3E1 込35323HTDIL5H&33J17ES:農(nóng)冷4L3QQB23 ES30(74.4回ECTi&LZSQ21T 11E7TSLB7=E43m £M mi曙 iwa ecat ws mnm am 如 m iu» 3W> aim lhs? nra< kd 毎前 nets lmo &松BKE. 000230B1035414062ISflbE27731USB 15EE-333307 KB 1373&96 EB «0S3E216B CF9

42、B0 51EI I.1J04I 畑日 ZHT 田 3&72&I ME93T.&L55a< WO 3 It碇韓L曲屈財0申熱I 5572S*«12#貯兀 1M聲 EIS5 LW 婕恨】皿用陽海 L爍M轉(zhuǎn)S3SE31 卿審 J1?1T 12GZ-I 3G3U IM】 Q2:C171E EEZ-S «5C17!31E£94715 £1 H 卿 PS3 9O0.Dm BE2I |3<53-E7G& ClWiH.為W 檢?3L.HUULLt巧"IS 械3180Mb理肝潔審鮎|uC«ILOJi?111?

43、2I34feilJ崗羽J ms3 戒跑耶7E4ll£64 12321站:LI11JaQ】.滋詔7aS6127HAU31Id 泗13723植 to的&2W 西ILJQ17&7D123&2itZLB142f-74bJ10!l刪* 町強沏】 濟肖?T3tmioKfl忙口吳即引財ismi減總il舁朋lmwis?st 卿 rat】朋崢woIE 創(chuàng)債7?殆*i4UB ESS?>9tUMB11BQS能 ll趣1U37<M歸W? 3E iW愛麗E3Ml10W加i 嶼i«23t27 油9H173Tt 觀皿 2B« 嶽MIC134hH%¥

44、WT】孫3咄討4 I 柳唸 MS I.碎 0臨 P嗣HS3lOtSL 虻也 IV27 lif-?曲 2I £17017517 狐用1635 OB.? 曲沖50(E5(10712自丁】1L1256®;彷工丁 :3iW- 14KE 舲lEH)iJE5HHe世負些時4霊牌L31fl5的聊J *» 忖也® SHF 3LL3 15=521刖為E4T& 口74 37Kb3 叨44!地第M »E S3: “隘 1123 tMAYDl 3址 BEU前筒 Ll4 BOLT Ski W* 21112&2LT 存 満扯 5SJ7 1*威 詢 7

45、71;i悴! 施 in« 草関乍 jt曬 (H軒 抽5; 別的1144 J LWU LJ14)蚯擁 LJ425 lftL Jl/U>U WHS 丘IM TZ?H Y3LD &L E&U 轎片 U JWJ L»U JlQEy Lla4 ME 購* 霰 <M 池丄 21321L(>93 矽 182 曲】 皿網(wǎng)JWOI L(WD 98Q7 fc75 L35fl* 1125A 門羽5 2:: 9 IWi 573 朗 011TD® 疔蕪31258H:®i' ?W 7313§血aei 302dE liw 加訕i幽2

46、 m! 葩細 Lra iMt Eii sHT wir 3&i iSSn ismmb 斕 Hi% wfc lku ffiu615+U43 爭fi IW 4M1 74Rfi 1第町 5藥T MW "佩 1哥弼 44131:T:汕 】別陽垮旳 曲創(chuàng) |関藥 FW L4n 哥爭L54M 1L1M1博4曲It1lW WT&I.輒刖L耕軸MM 131?&fr 川慵3第仙臨 臉 1UA 細怡勵L粛轉(zhuǎn)$1 蔔K解J91K 11?Q WT7Ldd EI-iE133D0掃SOSITf-7070:EM i.3 H 珥】 旺百 57332 Ho 2fiT7 5901905451Q 肛

47、刊 733! I39E Z3T S鋒5*疏刑Tl&SflW 曲忖前Mt T77L t*® 皿的如56 越M 13H2 翊右然馬 127 常抽軸W 陽也 £35-L0?舛轎遼 ?詢 3M «317Z44ED 即 £TSZ王刪IB 1ME& 器| 澤 MIG Z7W 】13EE BE:d IUH 畀 那 QE£XD5B3TJ413C|.彌00 霽 體幽 陽西 4£弓 宰7DLM1 HOT Lffi- M1Q11346圖2輸入整數(shù)1,產(chǎn)生20000個隨機數(shù)圖3輸入2,插入排序請輸入一個疊t; 2冒禪排密已經(jīng)完成!! !算法用

48、時也519000秒提示!掃E序結(jié)果已保存年Bubbl且SuTt. dait圖4輸入3,冒泡排序Bd清輸入一個整數(shù):4貳序已經(jīng)完咸! 用時0410000秒廉示t 排序結(jié)果已保存至ShgllMrt.曲t圖5輸入4,希爾排序諳輸入一個整數(shù);5 快速排序已經(jīng)完成! ! !畀法用時o. 000000秒請輸入一個整數(shù);6選埠排序已經(jīng)完成! 畀法用時L 572000®?ASMIM IT" IKmAmg圖8輸入7堆排序請輸入一個整數(shù):3已經(jīng)完咸.畀法用時0. 020000秒提示!排序結(jié)果己保存卒血瓏詬crt”弘t31660圖10至圖16為輸入9后從文件打印出來的排序結(jié)果57i青輸人卜整數(shù):

49、957r nu 序入L L_ w-rr31317 3 7 08 136 - _ "II78 16 813 5- - 一 TI61B6816 7 41 3 rD S1X 1X681 6L 3-S- 1- 1X88 55 0 38 1 1_62861X 8 0 3 5 8 - - 一 TI - -58 7 4 40 3 51± 1± 1A57576DO587 3 40 3 5IX 1x- J1386 2 4O 3 5 2 11 1± 1± 88131313 7 0 613 6 8-lx 1- 1® 1±16 8 512 58 i

50、i 一| »16 7 413 5 8.1L IX 1± 一1 6 6 3 12 5 8.1X -1- IX 1L -43ii363460438685o 1373TI78B lx751o83185136152651 一I1631636831 TI810651X43il4548145-1-1 6 00 513 5 8 TI 11 JI5 7/4518 0 3 5 0 -亠 « - -一O 66 00一I 1BoIX24317 3 7 08 13 6 nxM 1x- JIX 678 16 8 O 13 5 0- 1± TI TI68nV 16 75 13 51

51、 1- 168751 61 35 118578 55 0 38 11574OO16153185 7 4 5 18 0 35 8 7 1 - 土 一 1X 558 7 4 4 10 3 5 81XIX 1X 1X557 3O 3IX IX38456 2o 32 118-8-IX圖14Q0 0122 333 566 8313132323233333434:3654545557575757596062338585858585863687871071071071081111111111131331341341351361361361371541541551561561571581608L8 o g -3il50 生32363 523Sr52325721355 o 137107 o Jnx1215421±231±-451±_序Q 4>rr 5fl 92o圖1560575786-1- 一I 12

溫馨提示

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

最新文檔

評論

0/150

提交評論