首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

排序算法中的选择排序

原理

每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。

基本思想

给定数组: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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191011A0C3HL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券