选择排序的详细过程
选择排序是一种简单的排序算法,其详细过程如下: 1. **基本思想** - 该算法基于每次从待排序的数据中选择出最小(或最大)的元素,并将其放置在合适的位置。 2. **具体排序轮次** - 总共需要进行数组大小 - 1轮排序。 - 在每一轮排序中: - 首先假定当前位置的数是最小数。例如在第i次排序时,先假定arr[i - 1]是当前待比较范围(arr[i - 1]~arr[n - 1])中的最小数,同时记录下这个假定最小数的值和下标(假设下标为index,值为min)。 - 然后将这个假定的最小数与后面的每个数进行比较。从当前位置的下一个数开始(即从arr[i - 1+1]到arr[n - 1]),如果发现有比当前假定最小数更小的数,就重新确定最小数,并更新min的值和index下标。 - 当遍历完当前待比较的范围(到达数组的最后一个元素)时,就得到了本轮真正的最小数及其下标。 - 最后将本轮得到的最小数与当前位置(第i次排序时就是arr[i - 1])的数进行交换。 3. **以一个示例数组来说明** - 假设原始数组为:101, 34, 119, 1。 - 第一轮排序: - 先假定第一个数101是最小数(index = 0,min = 101)。 - 然后和后面的数34、119、1进行比较,发现1比101小,所以重新确定最小数min = 1,index = 3。 - 最后将1和101交换,得到1, 34, 119, 101。 - 第二轮排序: - 假定34是最小数(index = 1,min = 34)。 - 与后面的119、101比较,34仍然是最小数。由于它本身就在正确位置,所以数组保持1, 34, 119, 101。 - 第三轮排序: - 假定119是最小数(index = 2,min = 119)。 - 与101比较,发现101比119小,更新min = 101,index = 3。 - 交换101和119,得到1, 34, 101, 119。经过这三轮排序(对于这个包含4个元素的数组,共需进行3轮排序),数组最终按从小到大的顺序排列完成。
答案问题点击 举报反馈
提到的作品
热门问答
- 1 铠甲勇士拿瓦端木和灵灵恋爱
- 2 西行纪年番后面还有吗
- 3 乐球直播免费体育直播nba
- 4 刘校妤现在什么工作室
- 5 一人之下内容简介概括
- 6 狐妖小红娘是修仙小说吗知乎
- 7 狐妖小红娘南国同人文
- 8 裂地重甲VS裂天魔剑
- 9 乐球直播免费体育直播在线观看
- 10 海贼王祗园中将
- 11 伊姆大人真实身份是谁
- 12 一世之尊有几个女主角
- 13 斗罗之同人完结小说推荐
- 14 斗罗大陆看免费完整观看在线观看
- 15 剑 模型
- 16 西行纪之集结篇 电视剧
- 17 一人之下唐门篇说了什么内容
- 18 狐妖小红娘怎么一直157集
- 19 一人之下的大反派到底是谁
- 20 王也和张楚岚的实力
- 21 狐妖小红娘小结局是啥意思
- 22 狐妖小红娘白月初人气高吗
- 23 狐妖小红娘杨蔑什么时候复活
- 24 狐妖小红娘杨蔑翠玉
- 25 异人之下冯宝宝生世
- 26 狐妖小红娘漫画有多少集
- 27 战神狂飙主角
- 28 王权霸业的母亲
- 29 狐妖小红娘主题手机
- 30 海贼王伊姆活了多久了