国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

排序算法比較程序

2019-11-17 05:33:47
字體:
來源:轉載
供稿:網友

  功能要求如下:

排序算法比較: shellsort, quicksort, heapsort, mergesort 的算法實現 ,
對同樣數據集的排序時間比較。


源代碼:

# include <stdio.h>
# include <time.h>

# define MAXSIZE 2000

typedef strUCt{
    int key[MAXSIZE];
    int length;
}list;


long int  compCount;
long int  shiftCount;


void menu(int *m)/*retun m*/
{
    int i;
    char menu[6][15]={"1 CREATE ","2 IMPORT ","3 SORT","4 SHOW RESULT",
                           "5 SAVE RESULT","6 EX99v"};

    clrscr();
    PRintf("SORT COMPARE SYSTEM/n");
    for (i=0;i<6;i++) printf("%s/n",menu[i]);
    printf("/n Please Select (1-6):/n");
    
    scanf("%d",m);

}



void menusort(int *m)/*retun m*/
{
    int i;
    char menusort[5][15]={"1 SHELL SORT","2 QUICK SORT","3 HEAP SORT",
                            "4 MERGE SORT","5 ALL SORT"};
    
    clrscr();
    printf("SORT/n");
    for(i=0;i<5;i++) printf("%s/n",menusort[i]);
    printf("/n Please Select (1-5):/n");
    
    scanf("%d",m);

}


void menushow(int *m)/*retun m*/
{
    int i;
    char menushow[4][20]={"1 SHELL SORT RESULT","2 QUICK SORT RESULT",
                            "3 HEAP SORT RESULT","4 MERGE SORT RESULT"};
    
    clrscr();
    printf("SHOW SORT RESULT/n");

    for(i=0;i<4;i++) printf("%s/n",menushow[i]);
    printf("/n Please Select (1-4):/n");
    
    scanf("%d",m);

}

void menusave(int *m)
{
    int i;
    char menusave[4][20]={"1 SHELL SORT RESULT","2 QUICK SORT RESULT",
                           "3 HEAP SORT RESULT","4 MERGE SORT RESULT"};
    
    clrscr();
    printf("SAVE:/n");
    for (i=0;i<4;i++) printf("%s/n",menusave[i]);
    printf("/n Please Select (1-4):/n");
    
    scanf("%d",m);
}

void create(list *L)
{
    int i;
    
    printf("HOW MANY DATA?/n");
    scanf("%d",&((*L).length));
    
    for(i=1;i<=(*L).length;i++)
    {
        printf("/nPLEASE INPUT THE %dth DATA:/n",i);
        scanf("%d",&(*L).key[i]);
    }
    printf("/nCREATE COMPLETE !/n");
        
}


int listopen(list *L,char *filename)
{
    int k=1;
    FILE *data;
    
    data=NULL;


    data=fopen(filename,"rb");
    
    while (! feof(data))
        {
            fscanf(data,"%d",&(*L).key[k]);
            k++;
        }
        (*L).length=k-1;
}

void import(list *L)/*fix L*/
{
    char filename[255];
    int i;

    printf("/nPLEASE INPUT THE FILE PATH AND NAME:/n");

    scanf("%s",filename);

    clrscr();
    listopen(L,filename);
    for(i=1;i<(*L).length;i++) printf("%d ",(*L).key[i]);
    printf("/nPRESS ANYKEY RETURN TO MAINMENU.../n");
    getch();
}

void save(list L)
{
    FILE *data;
    char filename[255];
    int r;

    printf("/nPLEASE INPUT THE FILE PATH AND NAME:/n");
    scanf("%s",filename);

    data=fopen(filename,"wb");
    for(r=1;r<=L.length;r++) fprintf(data,"%d/n",L.key[r]);
    fclose(data);
    printf("SAVE OK! /n PRESS ANY KEY TO RETURN THE MAINMENU... ");
    getch();
        
}


list shellsort(list L)/*retun L_SHELL*/
{
    int i,j,gap,x,n;
    
    compCount=shiftCount=0;
    n=L.length;
    gap=n/2;
    while (gap>0)
    {
        compCount++;
        for(i=gap+1;i<=n;i++)
        {
            compCount++;
            j=i-gap;
            while(j>0)
            {
                compCount++;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广昌县| 西华县| 湛江市| 和林格尔县| 浙江省| 静宁县| 中山市| 东阳市| 都江堰市| 福鼎市| 佛学| 大冶市| 石棉县| 怀仁县| 万安县| 金川县| 庆元县| 泰州市| 新河县| 武清区| 奇台县| 东至县| 西青区| 河间市| 五华县| 临西县| 蕲春县| 哈密市| 康保县| 临安市| 天峨县| 邢台市| 西藏| 新疆| 古田县| 达尔| 南陵县| 黄大仙区| 宜兰县| 班戈县| 乌什县|