排序算法——选择排序

它的工作原理是每一次从待排序的[数据元素]中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。

选择排序是不稳定的排序方法,时间复杂度为O(n^2),空间复杂度为O(1)

func selectSort(list:Array<Int>) -> Array<Int>{
    var arr = list
    for i in 0..<arr.count-1
    {
        for j in i+1..<arr.count
        {
            if (arr[i] > arr[j])
            {
                let temp = arr[i]
                arr[i] = arr[j]
                arr[j] = temp
            }
        }
    }
    return arr
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择排序(Selection Sort) 选择排序是一种排序算法,是一个占用常用内存(In-place)的排序方法...
    流浪的三鮮餡阅读 794评论 0 1
  • 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小...
    NiceBlueChai阅读 2,154评论 0 1
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,220评论 0 52
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    闲云清烟阅读 766评论 0 6
  • 超强时间管理【一】,还没有写完,那只是为了今天简书做铺垫,就发布了。 继续写。 通过和睿智的郑老师学习超强时间管理...
    悦如晨阅读 182评论 0 5