-
大小: 510KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-16
- 語言: 其他
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??直接插入??堆排序??
資源簡(jiǎn)介
六種內(nèi)部排序算法比較:直接插入排序、希爾排序、冒泡排序、快速排序、選擇排序、堆排序。包含實(shí)驗(yàn)報(bào)告和源代碼設(shè)計(jì)。

代碼片段和文件信息
#include?
#include?
#include??
#define?L?8?//排序元素個(gè)數(shù)?
#define?FALSE?0?
#define?TRUE?1?
typedef?struct?
{?
int?key;?
char?otherinfo;?
}RecType;?
typedef?RecType?Seqlist[L+1];?
int?num;?//定義排序趟數(shù)的全局變量?
Seqlist?R;?
//直接插入排序?
void?Insertsort()?
{?
int?ijkm=0;?
printf(“\n\t\t原始數(shù)據(jù)為(按回車鍵開始排序):\n\t\t“);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
for(i=2;i<=L;i++)?
{?
if(R[i].key {?
R[0]=R[i];?
j=i-1;?
while(R[0].key {?
R[j+1]=R[j];?
j--;?
}?
R[j+1]=R[0];?
}?
m++;?
printf(“\t\t第%d趟排序結(jié)果為(按回車鍵繼續(xù)):\n\t\t“m);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
}?
printf(“\n\t\t排序的最終結(jié)果是:\n\t\t“);?
for(i=1;i<=L;i++)?
{?
printf(“%5d“R[i].key);?
}?
printf(“\n“);?
}?
//希爾排序?
void?Shellsort()?
{?
int?ijgapxm=0k;?
printf(“\n\t\t原始數(shù)據(jù)為(按回車鍵開始排序):\n\t\t“);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
gap=L/2;?
while(gap>0)?
{?
for(i=gap+1;i<=L;i++)?
{?
j=i-gap;?
while(j>0)?
{?
if(R[j].key>R[j+gap].key)?
{?
x=R[j].key;?
R[j].key=R[j+gap].key;?
R[j+gap].key=x;?
j=j-gap;?
}?
else?
{?
j=0;?
}?
}?
}?
gap=gap/2;?
m++;?
printf(“\t\t第%d趟排序結(jié)果為(按回車鍵開始排序):\n\t\t“m);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
}?
printf(“\n\t\t排序的最終結(jié)果是:\n\t\t“);?
for(i=1;i<=L;i++)?
{?
printf(“%5d“R[i].key);?
}?
printf(“\n“);?
}?
//冒泡排序?
void?Bubblesort()?
{?
int?ijk;?
int?exchange;?
printf(“\n\t\t原始數(shù)據(jù)為(按回車鍵開始排序):\n\t\t“);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
for(i=1;i {?
exchange=FALSE;?
for(j=L;j>=i+1;j--)?
{?
if(R[j].key {?
R[0].key=R[j].key;?
R[j].key=R[j-1].key;?
R[j-1].key=R[0].key;?
exchange=TRUE;?
}?
}?
if(exchange)?
{?
printf(“\t\t第%d趟排序結(jié)果為(按回車鍵開始排序):\n\t\t“i);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
}?
}?
printf(“\n\t\t排序的最終結(jié)果是:\n\t\t“);?
for(i=1;i<=L;i++)?
{?
printf(“%5d“R[i].key);?
}?
printf(“\n“);?
}?
int?Partition(int?iint?j)?//i和j為形式參數(shù),分別代表low和high?
{?
RecType?pirot=R[i];?
while(i {?
while(i=pirot.key)?
{?
j--;?
}?
if(i {?
R[i++]=R[j];?
}?
while(i {?
i++;?
}?
if(i {?
R[j--]=R[i];?
}?
}?
R[i]=pirot;?
return?i;?
}?
//遞歸形式為快速排序?
void?Quicksort(int?lowint?high)?
{?
int?pirotposk;?
if(low {?
pirotpos=Partition(lowhigh);?
num++;?
printf(“\t\t第%d趟排序結(jié)果為(按回車鍵開始排序):\n\t\t“num);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
Quicksort(lowpirotpos-1);?
Quicksort(pirotpos+1high);?
}?
}?
//選擇排序?
void?Selectsort()?
{?
int?ijkh;?
printf(“\n\t\t原始數(shù)據(jù)為(按回車鍵開始排序):\n\t\t“);?
for(k=1;k<=L;k++)?
{?
printf(“%5d“R[k].key);?
}?
getchar();?
printf(“\n“);?
for(i=1;i {?
h=i;?
for(j=i+1;j<=L;j++)?
{?
if
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????..A.SH.???????162??2015-12-27?14:14??排序算法代碼實(shí)現(xiàn)及比較\~$2014321081073?梁燕?實(shí)驗(yàn)五.docx
?????文件???????7889??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.cpp
?????文件???????4224??2016-01-05?10:37??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.dsp
?????文件????????527??2016-01-05?10:09??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.dsw
?????文件?????412588??2017-12-04?21:20??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.exe
?????文件??????33792??2016-01-05?10:37??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.ncb
?????文件??????48640??2016-01-05?10:37??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.opt
?????文件????????871??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\b.plg
?????文件?????204877??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug\b.exe
?????文件?????213088??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug\b.ilk
?????文件??????26506??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug\b.obj
?????文件?????418816??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug\b.pdb
?????文件??????33792??2016-01-05?10:16??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug\vc60.idb
?????文件??????45056??2016-01-05?10:10??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug\vc60.pdb
?????文件?????336896??2017-12-04?21:24??排序算法代碼實(shí)現(xiàn)及比較\內(nèi)部排序算法比較.doc
?????目錄??????????0??2017-12-04?21:21??排序算法代碼實(shí)現(xiàn)及比較\代碼\b\Debug
?????目錄??????????0??2017-12-04?21:21??排序算法代碼實(shí)現(xiàn)及比較\代碼\b
?????目錄??????????0??2017-12-04?21:21??排序算法代碼實(shí)現(xiàn)及比較\代碼
?????目錄??????????0??2017-12-04?21:24??排序算法代碼實(shí)現(xiàn)及比較
-----------?---------??----------?-----??----
??????????????1787724????????????????????19
評(píng)論
共有 條評(píng)論