原理
每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。
基本思想
给定数组:int[] arr=; 第一趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将他与arr[1]交换;第2趟,在待排序数据arr[2]-arr[n]中选出最小的数据,将它与arr[2]交换,以此类推,直到第n个数据。
实例
数组 int[] arr=;
排序思路:
第一趟排序: 原始数据:5 2 8 4 9 1
最小数据1,把1放在首位,也就是1和5互换位置,
排序结果:1 2 8 4 9 5
第二趟排序:
第1以外的数据进行比较,2最小,
排序结果:1 2 8 4 9 5
第三趟排序:
除1、2以外的数据进行比较,4最小,8和4交换
排序结果:1 2 4 8 9 5
第四趟排序:
除第1、2、4以外的其他数据进行比较,5最小,8和5交换
排序结果:1 2 4 5 9 8
第五趟排序:
除第1、2、4、5以外的其他数据进行比较,8最小,8和9交换
排序结果:1 2 4 5 8 9
代码实现
打开UC浏览器 查看更多精彩图片
debug显式
排序前:
5 2 8 4 9 1
交换后:
1 2 8 4 9 5
交换后:
1 2 8 4 9 5
交换后:
1 2 4 8 9 5
交换后:
1 2 4 5 9 8
交换后:
1 2 4 5 8 9
交换后:
1 2 4 5 8 9
领取专属 10元无门槛券
私享最新 技术干货