void selectionsort(int a[],int n) { int i,j; int k; int tmp; for(i = 0; i < n-1; i++) //1 { k = i; for(j = i+1; j < n ; j++) //2 { if(a[j] < a[k]) //3 k = j; } if(i != k) //4 { tmp = a[i]; a[i] = a[k]; a[k] = tmp; } } } 选择排序法就是通过先确定最小数字的数组下标,记录下来,最后把值交换到数组前面的位置 以代码为例,//1循环标记着需要排序的数组下标位置,比如当i=0时,这轮循环就是决定a[0]对应的数字是哪个,然后i自增,决定a[1]对应数字 k就是用来标记最小数字的数组下标的,通过//3操作对比数值大小,然后再用k=j记录比较小的数字的数组下标 //2处,j用来遍历下标并与k对比 通过//2处找出最小数字的数组下标后,当然是通过//4交换啦,把最小的数字交换到a[i]上,然后//1开始下一轮循环
选择排序法的理解
最新推荐文章于 2024-01-16 05:00:00 发布