Swift实现Selection Sort选择排序算法的实例讲解

 更新时间:2016年07月06日 12:18:29   作者:Panl  
选择排序是一种稳定的排序算法,且实现代码通常比冒泡排序要来的简单,这里我们就来看一下Swift实现Selection Sort选择排序的实例讲解

选择排序Selection Sort是一种和插入排序Insertion Sort类似的排序方法,它同样只适用于对规模不大的集合进行排序。它的核心思想是,在序列内部,把序列逻辑上分成已排序和未排序两部分,不断找到未排序部分中最符合排序规则的元素,添加进已排序部分,直到序列中所有元素都已经添加到了已排序部分,此时,整个序列就排序完成了。
冒泡排序是两两比较不断交换来实现排序,所以比较繁琐。
而选择排序  则是先选择要交换的那个数,才去交换。这样就可以省去很多不必要的步骤。

Swift版实现示例:

func selectSort(var arr: [Int]) ->[Int] {
 var min = 0

 // 只需要n-1趟
 for var i = 0; i < arr.count - 1; ++i {
  min = i

  // 从第n+1趟起始找到末尾
  for var j = i + 1; j < arr.count; ++j {

   // 找到比min位置更小的,就更新这一趟所找到的最小值的位置
   if arr[j] < arr[min] {
    min = j
   }
  }

  // 如果min与i不相等,说明有比i位置更小的,所以需要交换
  if min != i {
   let temp = arr[i]
   arr[i] = arr[min]
   arr[min] = temp
  }
 }

 return arr
}

相关文章

  • switch实现一个两数的运算代码示例

    switch实现一个两数的运算代码示例

    这篇文章主要介绍了switch实现一个两数的运算代码示例,需要的朋友可以参考下
    2017-06-06
  • Swift HTTP加载请求Loading Requests教程

    Swift HTTP加载请求Loading Requests教程

    这篇文章主要为大家介绍了Swift HTTP加载请求Loading Requests教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Swift算法实现字符串转数字的方法示例

    Swift算法实现字符串转数字的方法示例

    最近学完了swift想着实践下,就通过一些简单的算法进行学习研究,下面这篇文章主要介绍了Swift算法实现字符串转数字的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • Swift中排序算法的简单取舍详解

    Swift中排序算法的简单取舍详解

    对于排序算法, 通常简单的, 为大家所熟知的有, 选择排序, 冒泡排序, 快速排序, 当然还有哈希, 桶排序之类的, 本文仅比较最为常见的选择, 冒泡和快排,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-03-03
  • 浅析Swift中struct与class的区别(汇编角度底层分析)

    浅析Swift中struct与class的区别(汇编角度底层分析)

    这篇文章主要介绍了Swift中struct与class的区别 ,本文从汇编角度分析struct与class的区别,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Swift中的常量和变量简单概述

    Swift中的常量和变量简单概述

    这篇文章主要介绍了Swift中的常量和变量简单概述的相关资料,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • Swift免费短信验证码实现及动态倒计时功能

    Swift免费短信验证码实现及动态倒计时功能

    这篇文章主要介绍了Swift免费短信验证码实现及动态倒计时功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Swift实现表格视图单元格单选(2)

    Swift实现表格视图单元格单选(2)

    这篇文章主要为大家详细介绍了Swift实现表格视图单元格单选的第二篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Swift中常量和变量的区别与声明详解

    Swift中常量和变量的区别与声明详解

    Swift语言同样和Java和OC等语言一样是同样是需要声明常量和变量的,下面就让我们来学习一下Swift的常量和变量。这篇文章主要给大家介绍了关于Swift中常量和变量的区别与声明的相关资料,需要的朋友可以参考下。
    2017-11-11
  • 使用Swift实现iOS App中解析XML格式数据的教程

    使用Swift实现iOS App中解析XML格式数据的教程

    这篇文章主要介绍了使用Swift实现iOS App中解析XML格式数据的教程,讲到了iOS中提供的NSXMLParser和NSXMLParserDelegate两个API的用法,需要的朋友可以参考下
    2016-04-04

最新评论