------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
5 | 1 | 6 | 4 | 2 | 8 | 9 |
数组arr
0 1 2 3 4 5 6 [脚标]
①arr[0] 与arr[1]比较如果arr[0]>arr[1]则交换
②arr[0] 与arr[2]比较如果arr[0]>arr[2]则交换
③arr[0] 与arr[3]比较如果arr[0]>arr[3]则交换
④arr[0] 与arr[4]比较如果arr[0]>arr[4]则交换
⑤arr[0] 与arr[5]比较如果arr[0]>arr[5]则交换
⑥arr[0] 与arr[6]比较如果arr[0]>arr[6]则交换
此时arr[0]中是最小的数
⑦去掉arr[0]的比较,则
5 | 6 | 4 | 2 | 8 | 9 |
1 2 3 4 5 6 [脚标]
......
每一轮比较都可以得到一个最小值,放在前面
1
for(int x=0; x<arr.length-1;x++) //没有必要遍历最后一个脚标
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
总的来说选择排序的特点就是:内循环结束一次,最值出现在头脚标的位置上.
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
最后
以上就是动人蓝天最近收集整理的关于[黑马程序员]数组排序--选择排序原理总结的全部内容,更多相关[黑马程序员]数组排序--选择排序原理总结内容请搜索靠谱客的其他文章。
发表评论 取消回复