91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 1 次
    發布日期: 2021-05-16
  • 語言: C/C++
  • 標簽:

資源簡介

設計一個測試程序比較幾種內部排序算法的關鍵字比較次數和移動次數以取得直觀感受。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#define?LIST_INIT_SIZE?50000
int?bj1yd1n;
clock_t?start_tend_t;
typedef?struct?
{
?int?key;?
}ElemType;
typedef?struct?
{
?ElemType?*elem;
?int?length;
}SqList;
void?addlist(SqList?&L)
{
?int?i;
a:?printf(“請輸入你要輸入的個數:“);
?scanf(“%d“&n);
?if(n>50000)
?{
??printf(“超出范圍重新輸入!!!\n“);
??goto?a;
?}
?L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
?if(!L.elem)exit(0);
?L.length=0;
?for(i=1;i?{
b:??L.elem[i].key=rand();
??if(L.elem[i].key>30000)goto?b;
?????++L.length;
?}
}
void?SelectSort(SqList?&L)//選擇
{
?start_t=clock();
?int?ijkbj=0yd=0;
?for(i=1;i?{
??k=i;
??for(j=i+1;j??{
???bj++;
???if(L.elem[j].key??}
??if(i!=k)
??{
???L.elem[0].key=L.elem[i].key;
???L.elem[i].key=L.elem[k].key;
???L.elem[k].key=L.elem[0].key;
???yd+=3;
??}
?}
?end_t=clock();
?printf(“比較次數為???????%d移動次數為???????%d\n“bjyd);
?printf(“排序用時為???????%f\n“float(end_t-start_t)/CLK_TCK);
}
void?qipao(SqList?&L)//起泡
{
?start_t=clock();
?int?i=1jbj=0yd=0;
?while(i?{
??for(j=1;j??{
???bj++;
???if(L.elem[j].key>L.elem[j+1].key)
???{
????L.elem[0].key=L.elem[j].key;
????L.elem[j].key=L.elem[j+1].key;
????L.elem[j+1].key=L.elem[0].key;
????yd+=3;
???}
??}
??i++;
?}
?end_t=clock();
?printf(“比較次數為???????%d移動次數為???????%d\n“bjyd);
?printf(“排序用時為???????%f\n“float(end_t-start_t)/CLK_TCK);
}
void?InsertSort(SqList?&L)//直接插入
{
?start_t=clock();
?int?ijyd=0bj=0;
?for(i=2;i<=L.length;i++)
?{
??if(L.elem[i].key??{
???L.elem[0].key=L.elem[i].key;
???yd++;
???j=i-1;
???bj++;
???while(L.elem[0].key???{
????L.elem[j+1].key=L.elem[j].key;
????j--;
????yd++;
????bj++;
???}
???L.elem[j+1].key=L.elem[0].key;
???yd++;
??}
?}
?end_t=clock();
?printf(“比較次數為???????%d移動次數為???????%d\n“bjyd);
?printf(“排序用時為???????%f\n“float(end_t-start_t)/CLK_TCK);
}
void?xier(SqList?&L)//希爾
{
?start_t=clock();
?int?id=L.length/2jw=0kyd=0bj=0;
?while(w?{
??w=1;
??for(i=w;i??{
???k=i;
???for(j=i+d;j???{
????if(L.elem[i].key>L.elem[j].key)
????{
?????k=j;
?????bj++;
????}
???}
???if(i!=k)
???{
????L.elem[0].key=L.elem[i].key;
????L.elem[i].key=L.elem[k].key;
????L.elem[k].key=L.elem[0].key;
????yd+=3;
???}
???w++;
??}
??d=d/2;
??w=1;
?}
?end_t=clock()

評論

共有 條評論

相關資源