美文网首页
js十大排序算法

js十大排序算法

作者: Delet | 来源:发表于2022-03-26 11:54 被阅读0次

一、冒泡排序

1.生成一个长度为10的数组,数组中元素为0—100的随机数。
2.使数组中元素的大小从小到大排列。
var arr = [];
    for (i = 0; i < 10; i++) {
        arr[i] = Math.round(Math.random() * 100);
    }
    console.log(arr);
    for (i = 0; i < arr.length - 1; i++) {//外层循环:循环整体需要循环的次数
        for (j = 0; j < arr.length - i - 1; j++) {//内部循环:每一次循环都会确定一个最大的数,10个数需要对比9次
            if (arr[j] > arr[j + 1]) {//如果是目前的元素在进行比较,目前元素比后面的元素大,则互换位置
                var num = arr[j];//声明一个变量将索引值为 j 的元素进行封存
                arr[j] = arr[j + 1];//将索引值为 j 的元素更改为后一位的元素
                arr[j + 1] = num;//将封存好元素的变量赋值给后一位的元素
            }
        }
    }
    console.log(arr);
冒泡排序

二、选择排序

1.生成一个长度为10的数组,数组中元素为0—100的随机数。
2.使数组中元素的大小从小到大排列。
var arr = [];
    for (i = 0; i < 10; i++) {
        arr[i] = Math.round(Math.random() * 100);
    }
    console.log(arr);
    for (i = 0; i < arr.length - 1; i++) {//外层循环:循环整体需要循环的次数
        var min = i//声明变量,每次循环提取当前索引值为 i 的元素
        for (j = i + 1; j < arr.length; j++) {//内层循环:用提取的元素从第二个元素开始进行比较
            if (arr[j] < arr[min]) {//如果当前元素小于提取出来的元素,则将当前元素确定为最小元素
                min = j
            }
        }
        var num = arr[i];//声明一个变量将索引值为 i 的元素进行封存
        arr[i] = arr[min];//将索引值为 i 的元素更改为循环下来最小的元素
        arr[min] = num;//将索引值为 i 的元素赋值给被替换的位置
    }
    console.log(arr);
选择排序

三、插入排序

1.生成一个长度为10的数组,数组中元素为0—100的随机数。
2.使数组中元素的大小从小到大排列。
var arr = [];
    for (i = 0; i < 10; i++) {
        arr[i] = Math.round(Math.random() * 100);
    }
    console.log(arr);
    for (i = 1; i < arr.length; i++) {//外部的循环次数,i = 0或i = 1都可以,但是从第二次开始,第一次循环没有意义
        for (j = i; j > 0; j--) {  //   从第二位开始向前比较      
            if (arr[j] < arr[j - 1]) {//后一位如果小于前一位则准备互换位置
                var num = arr[j - 1];//将前一位的元素封存
                arr[j - 1] = arr[j];//将后一位的元素赋给前一位
                arr[j] = num;//将封存的元素赋给后一位
            }
        }
    }
    console.log(arr);
插入排序

相关文章

  • 排序算法

    https://www.cnblogs.com/beli/p/6297741.html js十大排序算法:冒泡排序...

  • 数据结构与算法(二):排序算法

    十大基础排序算法。 Basic-Sorting-Algorithm 关于十大基本排序算法的整理。 十大排序算法分别...

  • Algorithm -- 排序算法

    单链表十大经典排序算法冒泡排序选择排序插入排序归并排序快速排序堆排序计数排序桶排序 1. 十大经典排序算法 十大经...

  • 十大经典排序算法&七大查找算法

    十大经典排序算法: 十大经典排序算法的时间、空间复杂度: 冒泡排序(Bubble Sort) 算法描述: 1、比较...

  • Python一行代码实现快速排序

    上期文章排序算法——(2)Python实现十大常用排序算法为大家介绍了十大常用排序算法的前五种(冒泡、选择、插入、...

  • 一文搞定十大经典排序算法(Java实现)

    本文总结十大经典排序算法及变形,并提供Java实现。参考文章:十大经典排序算法总结(Java语言实现)快速排序算法...

  • 算法

    算法和数据结构 十大排序实现原理?使用场景js中sort使用的是哪种排序?sort使用的是插入排序和快速排序结合的...

  • 十大排序算法

    十大排序算法

  • 排序算法概述

    十大排序算法:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序、希尔排序、计数排序,基数排序,桶排序 算法...

  • 十大经典排序算法(动图演示)

    十大经典排序算法

网友评论

      本文标题:js十大排序算法

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