选择排序的一种Go实现

package mainimport "fmt"//选择排序的核心是第n次将数组中后面len(arr) - n个元素的最大或者最小值与第n个元素进行交换
func selectSort(arr *[5]int){for j := 0; j < len(arr) - 1; j++ { //循环次数为len(arr) - 1//假设第一个元素的值最大(降序排序)max := arr[j]maxIndex := j//遍历后面的元素进行比较for i := j + 1; i < len(arr); i++ {if max < arr[i] {max = arr[i] //这里不能着急交换值,只需要把最大的给maxmaxIndex = i}}//交换值if maxIndex != j {arr[j], arr[maxIndex] = arr[maxIndex], arr[j]}fmt.Printf("第%d次 %v\n", j+1, *arr)}
}func main(){arr := [5]int{1,3,6,9,8}selectSort(&arr)
}

输出:

第1次 [9 3 6 1 8]
第2次 [9 8 6 1 3]
第3次 [9 8 6 1 3]
第4次 [9 8 6 3 1]

数据结构--选择排序相关推荐

  1. 数据结构------选择排序

    数据结构------选择排序 原理:参考趣学数据结构 代码: #include<stdio.h> #include<stdlib.h> void simpleSelectSor ...

  2. 数据结构-选择排序(简单选择排序,堆排序)

    目录 1,简单选择排序 1.1,简单选择排序思想 1.2,选择排序的时间复杂度分析 1.3,简单选择排序代码实现 2,堆排序 2.1,什么是堆排序 2.2,堆排序的思想 2.3,堆排序时间复杂度分析 ...

  3. 数据结构---选择排序(直接选择排序和堆排序图解)

    选择排序思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 . 直接选择排序 在元素集合array[i]–array[n-1]中选择关 ...

  4. 数据结构:选择排序(Selection sort)

    package com.sortbasic;import java.util.Random;public class SelectionSortGenerate {// 数组private stati ...

  5. python算法与数据结构-选择排序算法

    代码如下所示: # 定义选择排序函数 def select_sort(list):# 计算需要排序的列表元素个数n = len(list)# 需要n-1次选择操作for j in range(n - ...

  6. python算法与数据结构-选择排序算法(33)

    阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...

  7. 浅谈数据结构-选择排序(简单、堆排序)

    选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止. 选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更小 ...

  8. 数据结构-选择排序(Python)

    假设你的计算机存储了很多乐曲.对于每个乐队,你都记录了其作品被播放的次数. 你要将这个列表按播放次数从多到少的顺序排列,从而将你喜欢的乐队排序.该如何做呢? 一种办法是遍历这个列表,找出作品播放次数最 ...

  9. 数据结构与算法:选择排序

    数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...

最新文章

  1. 系统学习NLP(三)--NLP入门综述
  2. 已知服务器ftp的账号密码,求解数据库表的内容
  3. CRM呼叫中心和社交媒体集成的技术实现
  4. 日常撕逼:React和Vue到底谁更牛?
  5. 判断mac地址单播还是组播(shell脚本)
  6. AutoEncoder概念【常用】
  7. rsyslog 日志管理服务
  8. Lexical environments: ECMAScript implementation
  9. java太大太重_Java 编码最容易疏忽的 10 大问题!
  10. Matlab深度学习工具箱的使用
  11. 机器视觉工业缺陷检测(光源,相机,镜头,算法)
  12. 缅怀2022,展望2023
  13. Java中outer标签的用法
  14. 跳跃游戏(数组下标跳跃)
  15. 极路由3-HC5861无拆机获取root连接ssh
  16. (三)模电不归路之稳压二极管
  17. 运筹学答案-钱颂迪-免费领取
  18. XMind6和XMind7有何不同
  19. linux 查看目录挂载的ip,基于IP-SAN的存储Linux挂载
  20. win10 修复打印机服务器,修复:打印机始终在Win10上打印两份

热门文章

  1. php缓存变量_PHP 从缓存中取出存储的变量
  2. 我用hbuilder怎么用不了jquery_【权益资讯】机房电脑用不了怎么办
  3. 2021全球数据中心市场预测:资本支出将增长10%
  4. 大型监控网络系统如何规划ip地址?
  5. 数据中心空调故障案例集(第二季)
  6. c语言程序开发中连接是,C语言中等待socket连接和对socket定位的方法
  7. pythonnamedtuple定义类型_详解Python中namedtuple的使用
  8. 成功解决TypeError: ‘tuple‘ object is not callable
  9. ML之RF:基于RF算法实现案例(数据集samtrain.csv、samval.csv、samtest.csv)
  10. Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内