选择排序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
}
相关推荐:
ASP 高级模板引擎实现类
php self,$this,const,static,-&gt;的使用
Jquery Ajax.ashx 高效分页实现代码
jquery 常用操作整理 基础入门篇
PHP 字符截取 解决中文的截取问题,不用mb系列
Javascript 日期处理之时区问题
JavaScript Array扩展实现代码
ASP 常见的连接字符串写法(access2007)
PHP webshell检查工具 python实现代码
百度留言本js 大家可以参考下
php面向对象全攻略 (十四) php5接口技术
ASP.NET 调用百度搜索引擎的代码
jQuery toggle()设置CSS样式
C# TreeView控件使用代码
JS 正则 时间验证
javascript线性渐变一
Vista IIS7添加PHP支持的方法
jQuery slider Content(左右控制移动)
VBScript 实现文字遮罩
javascript hashtable实现代码
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
Oracle中sys和system的区别小结
CMD下的网络安全配置命令
不安全的常用的js写法
文字在网页上下浮动 学习可以不建议用
JavaScript 函数式编程的原理
JSP EL表达式详细介绍
jquery中的$(document).ready()与window.onload的区别
JavaScript 读取图片实例代码
asp.net url重写后页面回传问题
C# 获取程序集版本、文件版本
ASP 正则表达式的应用使用说明
php 数学运算验证码实现代码
MSSQL ISQL命令详解
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
Linux ORCLE数据库增量备份脚本
C# 多线程读取注册表,加载至TreeView
javascript获得CheckBoxList选中的数量
用Javascript 编写可以缓慢弹出收缩的层
文字瞬间从左到右切换显示的JavaScript代码
javascript写的一个链表实现代码
百度用到的Js日历 大家可以看看
Python 第一步 hello world
表单验证常用正则(强烈推荐大家收藏下)
Win2008远程控制确保安全的设置技巧
Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
sqlserver 禁用触发器和启用触发器的语句
JavaScript switch case 的用法实例[范围]
extjs 学习笔记(二) Ext.Element类
点击按钮后 文本框变为Select下拉列表框