美文网首页
前端-简单选择排序

前端-简单选择排序

作者: FConfidence | 来源:发表于2018-09-07 23:29 被阅读14次
  1. 简单选择排序

    假设排序表为L[1...n] 第i趟排序即从L[i...n]中选择关键字最小的元素与L[i]进行交换, 每一趟排序可以确定一个元素的最终位置
    这样, 经过n-1趟排序就可以使得整个排序表有序

    • 空间: O(1)
    • 时间: O(m^2)
    • 稳定性: 不稳定
    • 元素的比较次数 n(n-1)/2
function SimpleSort(arr) {
  let i, j, len = arr.length,
    temp;
  let min; // 记录当前遍历过程中最小的元素的索引
  for (i = 0; i < len - 1; i++) {
    min = i;
    for (j = i + 1; j < len; j++) {
      if (arr[j] < a[min]) {
        min = j;
      }
    }
    // 找到当前遍历中最小的元素的索引为i
    if (min != i) { // 保证当前元素不为当前最小元素的时候才进行交换
      temp = arr[min];
      arr[min] = arr[i];
      arr[i] = temp;
    }
  }
}

var a = [5, 2, 4, 3, 8, 6, 9, 0, 1, 7];
SimpleSort(a);
console.log(a);

相关文章

  • 前端-简单选择排序

    简单选择排序假设排序表为L[1...n] 第i趟排序即从L[i...n]中选择关键字最小的元素与L[i]进行交换...

  • 基础算法|简单选择排序

    简单选择排序是一种排序算法,指在简单选择排序过程中,所需移动记录的次数比较少。简单选择排序是不稳定排序。 简单选择...

  • 选择排序-c语言描述

    选择排序分简单选择排序与堆排序两种,先介绍简单选择排序。1.简单选择排序在未排序的序列中找到最小(大)元素,存放到...

  • 常用排序算法(Python实现), 持续更新中

    一、非线性时间比较类排序 交换排序冒泡排序快速排序 插入排序简单插入排序希尔排序 选择排序简单选择排序堆排序 归并...

  • 算法复习-选择类排序(1)-简单选择排序

    简单选择排序 选择类排序的主要动作是“选择”,简单选择排序采用最简单的选择方式,从头至尾顺序扫描序列,找出最小的一...

  • 给自己备份的排序代码

    交换排序 冒泡排序 快速排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序

  • GO语言实现 一 基本排序

    基本排序包括简单选择排序和插入排序,本文将就这两种排序进行 golang语言实现,并引出希尔排序 一.简单选择排序...

  • 排序算法

    常见排序算法及JAVA实现 简单选择排序(SelectSort) 选择排序思想很简单,对所有元素进行遍历,选出最小...

  • 排序法

    排序分 内部排序和外部排序 内部排序: 插入排序:{直接插入排序,希尔排序} 选择排序:{简单选择排序,堆排序} ...

  • 前端er常用的几种排序方法

    前端常用的排序方法有:冒泡排序,选择排序,快速排序,插入排序 一、冒泡排序 理解冒泡排序 相邻的两个元素依次比较,...

网友评论

      本文标题:前端-简单选择排序

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