标签:
针对数组a,索引从l到r,针对第i趟,我们设置a[i]为当前第i小的,然后比较从i+1到r里面有没有比a[min]更小的,有的话,我们就保存min,最后一次是交换。
1 public static void selection(int a[],int l,int r) 2 { 3 int min; 4 for(int i=l;i<r;i++) 5 { 6 min=i; 7 for(int j=i+1;j<=r;j++) 8 { 9 if(a[j]<a[min]) 10 { 11 min=j; 12 } 13 } 14 if(min!=i)//如果不相等再交换 15 { 16 int temp=a[min]; 17 a[min]=a[i]; 18 a[i]=temp; 19 } 20 21 } 22 }
标签:
原文地址:http://www.cnblogs.com/maozhenyu0829/p/5392289.html