1.被排序的对象由计算机随机生成,长度分别取20.100.500三种.
2.算法中增加比较次数和移动次数的统计功能(设计一个计数器)

解决方案 »

  1.   

    这是java版啊,另外,你要问什么东西?
    要程序实现吗?
      

  2.   

    起泡法
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void sort(int *a,int n)
    {
    int bc=0;//计比较次数
    int jc=0;//计交换次数
    int i,j,temp;
    for(i=0;i<n-1;i++)
    {
    for(j=i+1;j<n;j++)
    {
    if(a[i]>a[j])
    {
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
    jc++;
    }
    bc++;
    }
    }
    printf("比较次数:%d\n",bc);
    printf("交换次数:%d\n",jc);
    }
    void main()
    {
    int a[20],i;
    time_t t;
        srand((unsigned) time(&t));
    for(i=0;i<20;i++)
    {
    a[i]=rand();
    }
    sort(a,20);
    printf("排好序后:\n");
    for(i=0;i<20;i++)
    {
    printf("%d\t",a[i]);
    }
    }
    我只做了个20的,其他的稍微添加一下就行了.
      

  3.   

    srand((unsigned) time(&t)
    这句什么 意思??