javaScript:一分钟看懂数组排序以及冒泡排序(重点)

目录

一.前言

二.数组排序

sort()

    字符串大小的比较原则

    字符编码排序规则

如果使用sort从小到大排列  (重点)

    函数的返回值

    规则:

代码 

案例 

数组打乱

sort相关代码 

三.冒泡排序(重点)

执行过程

代码演示(详细步骤/过程拆解)

案例

练习随机生成 [10,80]的10个整数然后进行冒泡排序


一.前言

        数组排序是将数组中的元素按照一定的规则进行重新排列的过程。排序的目的通常是为了使数组的元素按照升序或降序的方式排列,以便更方便地进行搜索、比较和查找操作。

       冒泡排序是最简单且常见的排序算法之一,它通过重复遍历数组并比较相邻元素的大小来进行排序。在每次遍历中,如果前面的元素大于后面的元素,则交换它们的位置,直到整个数组排序完成。

二.数组排序

sort()

    使用 sort()方法,对数组进行排序(该方法改变的是原数组)

    sort 默认 把 number类型转化为string 类型,然后根据每个字符串的字符编码比较大小。

    字符串大小的比较原则

    几个字符串比较大小,会依次比较每一位置上的字符编码大小,直到比较出大小之后就不再比较,后面的字符直接省略

    字符编码排序规则

    数字 0-9

    A-Z,a-z 依次变大

    A

如果使用sort从小到大排列  (重点)

     一般的在进行排序的时候,会给sort()传入一个参数,该参数是一个函数,在函数中设置排序规则,

    该函数必须有返回值

    函数的返回值

    return 参数1 - 参数2: 从小到大排序

    return 参数2 - 参数1: 从大到小排序

    规则:

    当返回一个正数,就会交换两者的位置

    当返回一个负数,不会交换两者的位置

    当返回一个0,会认为这两个数字相等,也不会交换位置

代码 

 let arr4 = [112,231,21,21,1,3,32]
   arr4.sort(function(a,b){
       return a-b  //从小到大
   })
   console.log(arr4)

 javaScript:一分钟看懂数组排序以及冒泡排序(重点)_第1张图片

案例 

数组打乱

//数组打乱
   let arr5 = ["1","2","3","4","5","6",
   "7","8","9","10","11","12","13","14"]
   arr5.sort(function(){
      return Math.random()-0.5
   })
   console.log(arr5);

sort相关代码 




    
    
    数组排序


    


三.冒泡排序(重点)

执行过程

  1. 从数组的第一个元素开始,依次比较相邻的两个元素。
  2. 如果前面的元素比后面的元素大(或小,取决于排序顺序),则交换这两个元素的位置。
  3. 继续向后遍历数组,重复1和2步骤,直到遍历到倒数第二个元素。
  4. 重复以上步骤的过程,每次遍历都使得最大(或最小)的元素“浮”到上一轮排序中最后一个未排序的位置。
  5. 重复上述步骤,直到全部元素排序完成。

代码演示(详细步骤/过程拆解)




    
    
    冒泡排序


    


案例

练习随机生成 [10,80]的10个整数然后进行冒泡排序

//练习随机生成 [10,80]的10个整数然后进行冒泡排序

   let s = []
   for (let i = 0; i < 10; i++) {
    let sj = Math.floor(Math.random()*71+10)
    s[i] = sj
   }
   console.log(s)
   for (let i = 1; i < s.length; i++) {
       //内层控制比较的次数
       for (let j = 0; j < s.length-i; j++) {
        if(s[j]>s[j+1]){    //(s[j]

 

你可能感兴趣的:(javascript,数据结构,算法,排序算法)