⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例8.13.txt

📁 这是有清华大学出版社出版
💻 TXT
字号:
例8.13     用选择法对数组中10个整数按由小到大排序。所谓选择法就是先将10个数中最小的数与a[0]对换;再将a[1]到a[9]中最小的数与a[1]对换……每比较一轮,找出一个未经排序的数中最小的一个。共比较9轮。
下面以5个数为例说明选择法的步骤。
a[0]  a[1]  a[2]  a[3]  a[4]
     3         6         1          9         4 未排序时的情况
     1    6  3 9 4  将5个数中最小的数1与a[0]对换 
1    36  9    4     将余下的4个数中最小的数3与a[1]对换 
1  3   4  9  6        将余下的3个数中最小的数4与a[2]对换 
1  3   4  6   9       将余下的2个数中最小的数6与a[3]对换,至此完成排序根据此思路编写程序如下:
void sort(int array[],int n)
     {int i,j,k,t;
       for(i=0;i<n-1;i++)
        {k=i;
         for(j=i+1;j<n;j++)
            if(array[j]<array[k]) k=j;
         t=array[k];array[k]=array[i];arra
y[i]=t;}
      }
       main()
    {int a[10],i;
      printf("enter the array\n");
     for(i=0;i<10;i++)
      scanf("%d",&a[i]);
     sort(a,10);
     printf("the sorted array∶\n");
     for(i=0;i<10;i++)
       printf("%d",a[i]);
     printf("\n");
    }
  可以看到在执行函数调用语句sort(a,10);之前和之后,a数组中各元素的值是不同的。原来是无序的,执行sort(a,10);后,a数组已经排好序了,这是由于形参数组array已用选择法进行排序了,形参数组改变也使实参数组随之改变。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -