博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序方法——选择排序
阅读量:5228 次
发布时间:2019-06-14

本文共 839 字,大约阅读时间需要 2 分钟。

  选择排序:是一种简单直观的排序算法。他的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,在从剩余未排序元素中继续寻找最小(大)元素,然后放到一排序序列的末尾。以此类推,直到所有元素均排序完毕。

  选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置位置上,则它不会被移动。选择排序每次交换一对元素,他们当中至少有一个将会被移动到其最终位置上,一次对n个元素的序列进行排序总共进行至多n-1次交换。在所有的完全移靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

选择排序分析

红色表示当前最小值,黄色表示已排序序列,蓝色表示当前位置

function select_sort(array){    let len = array.length;    // 控制循环次数,总共循环n-1次    for(let i = 0; i <= len - 1; i++){        // 默认当前元素为最小值,并记录其位置        let min = i;        // 从i+1位置到末尾选择出最小数据        for(let j = i+1; j < len; j++){            // 获取最小值得位置            if(array[j] < array[min]){ min = j } } // 如果选择出的数据不在正确位置,进行交换 if(min != i){ let mid = array[i] array[i] = array[min] array[min] = mid } } } let arr = [54,226,93,17,77,31,44,55,20] select_sort(arr) console.log(arr)
python

选择排序演示

转载于:https://www.cnblogs.com/peiyanh/p/9646429.html

你可能感兴趣的文章
.net core 12
查看>>
SQL-android uri的使用(转载)
查看>>
数字pid笔记(1)
查看>>
一步一步学Linq to sql(六):探究特性
查看>>
[Everyday Mathematics]20150107
查看>>
【原】android启动时白屏或者黑屏的问题
查看>>
[原]unity3d 纹理旋转
查看>>
Automating hybrid apps
查看>>
java虚拟机---内存
查看>>
字符串相似度
查看>>
js中this关键字测试集锦
查看>>
转:轻松把玩HttpClient之封装HttpClient工具类(一)(现有网上分享中的最强大的工具类)...
查看>>
设备管理之IO软件系统
查看>>
Mac OS用终端打开 TextEdit 的授命
查看>>
软件测试实验6
查看>>
[置顶] 两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……...
查看>>
在窗口标题栏的左上方显示图标
查看>>
Android 代码设置密码输入框内容的显示/隐藏
查看>>
DCloud 使用chrome调试
查看>>
[转]Oracle 11g 新特性 -- SQL Plan Management 说明
查看>>