排序算法之选择排序

来源:互联网 发布:python ruby 哪个好 编辑:程序博客网 时间:2024/06/08 14:47

选择排序

思路:每次从后面开始遍历,将遍历之后的最小值放在a[0],紧接着再从最后开始遍历,将次最小值排在a[1],依次循环。

//给定数组选择排序

 

#include <stdio.h>

 

int main()

{

         inti,j,small,index;

         inta[10]={1,23,41,31,45,767,45,90,6,88};

         for(i=0;i<9;i++)    //10个数字循环九次选出9个较小的数

         {

                   index=9;              //每次都从第九个倒着比较,一直比较到已经排好的第i个

                   small=a[9];

                  

                   for(j=8;j>i-1;j--)          //每次从8开始比较,由于前面已经排好了i个,对应的下标为(i-1),所以再进行比较只需要比到第i个即可

                   {

                            if(a[j]<small)

                            {       

                                     index=j;

                                     small=a[j];

                            }

                   }

                   a[index]=a[i];

                   a[i]=small;

         }

 

         printf("\nThesorted numbers are:\n");

         for(i=0;i<10;i++)

         {       

                   printf("%5d",a[i]);

         }

         printf("\n\nend\n");

}

原创粉丝点击