美文网首页
用javascript实现选择排序

用javascript实现选择排序

作者: 王伯卿 | 来源:发表于2018-02-04 22:03 被阅读0次

选择排序是一种非常稳定的排序,不管给什么数据,最后的复杂度都是O(N*N),而且非常好理解,如果数据量比较小,可以试着用用。

思路:

1)扫描数组,找出最小的一个数的索引,然后把数放在第一位。
2)然后接着找
感觉我写的思路只有我自己看得懂。
还是看代码来得实在。

var selectionSort=function(arr){

  var len=arr.length;
  var index,temp;

  // 数组中有n个数就必须要选择n-1个数进行对比
  // 下面的j会加一个一,所以这里不用循环所有的数字
  for(var i=0;i<len-1;i++){
    // 存储索引值
    index=i;
    // 我们上面已经把第一个数存为索引值了,所以和索引值对比的必须应该是下一个数字,所以是i+1
    for(var j=i+1;j<len;j++){
      // 如果选择的数小于索引值的数,则索引值改变,直至找到最小数的索引值
      if(arr[j]<arr[index]){
        index=j;
      }
    }
    // 把找到的最小的索引值的数与第一个数交换,并且进行下一轮循环
    // 如果他们两个一样,说明最小的已经在第一位了,直接进行下一轮循环就好了
    if(index!=i){
      temp=arr[i];
      arr[i]=arr[index];
      arr[index]=temp;
    }
  }

  return arr;
};

var array=[1,2,4,7,4,1];
console.log(selectionSort(array));

相关文章

  • 用javascript实现选择排序

    选择排序是一种非常稳定的排序,不管给什么数据,最后的复杂度都是O(N*N),而且非常好理解,如果数据量比较小,可以...

  • JS实现排序算法

    原文:常见排序算法之JavaScript实现 - 知乎 目录 冒泡排序 选择排序 插入排序 合并排序 快速排序 1...

  • JavaScript实现经典排序算法

    使用JavaScript实现的经典排序算法 util 冒泡 简单选择 直接插入 快速排序 堆排序 归并排序

  • (306)排序-java实现的选择/插入/希尔排序

    引言 用java实现的选择排序、插入排序、希尔排序。 代码(java) 运行结果

  • 使用javascript实现选择排序

    选择排序的工作原理:在未排序的数列中,找出最大(最小)的一个与未排序最后一个(第一个)进行交换。如下图所示(ps图...

  • 选择排序算法(JavaScript实现)

    算法思想 在序列中先找到最小的,放到第一个位置,然后再在剩余元素中找最小的,放到第二个位置……以此类推 复杂度 时...

  • 用JavaScript实现快速排序

    1.首先,定义一个quickSort函数,它的参数是一个数组。 2.然后,检查数组的元素个数,如果小于等于1,就返...

  • 用javascript实现快速排序

    学习笔记,参考网站如下:① http://zqdevres.qiniucdn.com/data/201106062...

  • 用javascript实现冒泡排序

    思路:双重循环比较1)从第一个数字开始扫描,并且比较第一个和第二个数字1-1 如果第一个数字大于第二个数字,则交换...

  • 排序算法的实现

    用java对常用内部排序算法的实现。 对冒泡排序,简单选择排序,直接插入排序,希尔排序,归并排序的简单实现(缺少快...

网友评论

      本文标题:用javascript实现选择排序

      本文链接:https://www.haomeiwen.com/subject/mwevzxtx.html