选择排序
来源:互联网 发布:善领p46最新数据 编辑:程序博客网 时间:2024/06/03 22:40
前端菜鸟的成长之路
选择排序算法简介
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。具体算法描述如下:
- 初始状态:无序区为R[1..n],有序区为空;
- 第i趟排序(i=1,2,3…n-1)开始时,当前有序区和无序区分别为R[1..i-1]和R(i..n)。该趟排序从当前无序区中-选出关键字最小的记录 R[k],将它与无序区的第1个记录R交换,使R[1..i]和R[i+1..n)分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区;
n-1趟结束,数组有序化了。
代码如下
function selectionSort(arr) { var len = arr.length; var minIndex, temp; console.time('选择排序耗时'); for (var i = 0; i < len - 1; i++) { minIndex = i; for (var j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { //寻找最小的数 minIndex = j; //将最小数的索引保存 } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } console.timeEnd('选择排序耗时'); return arr;}var arr=[90,4,28,34,7,13,23,25,22,2,6,5,9,31,1];console.log(selectionSort(arr));
阅读全文
0 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 【剑指offer】面试题 33:二叉搜索树的后序遍历序列
- Codeforecs XOR On Segment 线段树(区间异或,求和)
- linux debian系统的两台主机之间建立安全信任关系及scp传输文件的免密操作
- 数据库第一天基础知识
- leetcode[Fizz Buzz]//待整理多种解法
- 选择排序
- 程序员日常工作英文20170718
- HTML入门笔记7-粗体、斜体和下划线标签
- 学习笔记——数据库事务
- 测试简介
- linux debian安装配置SVN服务器
- ES6之函数的拓展(部分)
- 【Python】实现一个天气查询
- javascript学习笔记