------------------------------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 [脚标]
......
每一轮比较都可以得到一个最小值,放在前面
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培训 期待与您交流!------------------------------

本文详细介绍了一种简单直观的排序算法——选择排序,并通过逐步解析其核心逻辑帮助读者理解该算法的工作原理。文章提供了完整的伪代码示例,展示了如何通过多轮比较将数组中的元素按升序排列。
3320

被折叠的 条评论
为什么被折叠?



