选择排序
时间:2019-10-20
本文章向大家介绍选择排序,主要包括选择排序使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>插入排序</title> </head> <body> </body> <script> function swap(array, a, b) { /* const temp = array[a]; array[a] = array[b]; array[b] = temp; */ // 经典方式 [array[a], array[b]] = [array[b], array[a]]; // ES2015的方式 } function defaultCompare(a,b) { return a < b ? 0 : 1 } function selectionSort(array, compareFn = defaultCompare) { const { length } = array; // {1} let indexMin; for (let i = 0; i < length - 1; i++) { // {2} debugger; indexMin = i; // {3} for (let j = i; j < length; j++) { // {4} if (compareFn(array[indexMin], array[j]) === 1) { // {5} indexMin = j; // {6} } } if (i !== indexMin) { // {7} swap(array, i, indexMin); } } return array; }; function createNonSortedArray(size) { // {6} const array = []; for (let i = size; i > 0; i--) { array.push(i);
for (let j = i; j < length; j++) {
} return array; } let array = createNonSortedArray(5); // {7} console.log(array.join()); // {8} array = selectionSort(array); // {9} console.log(array.join()); //{10} </script> </html>
选择排序算法 就是找在循环里面做对比 找到数据里面最小的值 第2小的值 第3小的值 类推下去排序
for (let i = 0; i < length - 1; i++) { // {
外层循环迭代数组 控制循环的次数
里层循环是进行数据对比 我们比较是否位置j
的值比当前最小值小;如果是,则改变最小值至新最小值。当内循环结束,将得出数组第小的值。最后,如果该最小值和原最小值不同(行{7}
),则交换其值。
这里 的 进行了 五次外层 循环 里层循环是进行循环 对比
原文地址:https://www.cnblogs.com/guangzhou11/p/11706721.html
- 使用脚本操作UpdatePanel中控件的问题
- Gerrit上分支操作记录(创建分支、删除分支)
- flash 显示 qq客服状态
- android获得ImageView图片的等级
- SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理
- jQuery中排除指定元素,同时选择剩下的所有元素
- windows客户机连接gerrit的一个报错处理
- 装箱与值类型虽然很容易理解,但是在实际使用中,并不总是能100%用对
- Jexus 配置ssl
- 局部打印插件 jquery.PrintArea.js
- FluorineFx应用中“页面长时间不动”导致无法连接的解决办法
- Mysql主从同步(1)-主从/主主环境部署梳理
- mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
- 网站压力测试软件WebBench以及压测Jexus
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法