襄阳市作风建设年 网站,烟台建设信息网站,海南省住房公积金管理局电话号码,怎么制作wordpress主题目录 一.前言
二.数组排序
sort#xff08;#xff09; 字符串大小的比较原则 字符编码排序规则
如果使用sort从小到大排列 #xff08;重点#xff09; 函数的返回值 规则#xff1a;
代码
案例
数组打乱
sort相关代码
三.冒泡排序#xff08;重点#xff…目录 一.前言
二.数组排序
sort 字符串大小的比较原则 字符编码排序规则
如果使用sort从小到大排列 重点 函数的返回值 规则
代码
案例
数组打乱
sort相关代码
三.冒泡排序重点
执行过程
代码演示详细步骤/过程拆解
案例
练习随机生成 [10,80]的10个整数然后进行冒泡排序 一.前言 数组排序是将数组中的元素按照一定的规则进行重新排列的过程。排序的目的通常是为了使数组的元素按照升序或降序的方式排列以便更方便地进行搜索、比较和查找操作。 冒泡排序是最简单且常见的排序算法之一它通过重复遍历数组并比较相邻元素的大小来进行排序。在每次遍历中如果前面的元素大于后面的元素则交换它们的位置直到整个数组排序完成。
二.数组排序
sort 使用 sort方法对数组进行排序该方法改变的是原数组 sort 默认 把 number类型转化为string 类型然后根据每个字符串的字符编码比较大小。 字符串大小的比较原则 几个字符串比较大小会依次比较每一位置上的字符编码大小直到比较出大小之后就不再比较后面的字符直接省略 字符编码排序规则 数字 0-9 A-Za-z 依次变大 Aa 如果使用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) 案例
数组打乱
//数组打乱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相关代码
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title数组排序/title
/head
body/body
/html
script/*使用 sort方法对数组进行排序该方法改变的是原数组sort 默认 把 number类型转化为string 类型然后根据每个字符串的字符编码比较大小。字符串大小的比较原则几个字符串比较大小会依次比较每一位置上的字符编码大小直到比较出大小之后就不再比较后面的字符直接省略字符编码排序规则数字 0-9A-Za-z 依次变大 Aa*/let arr1 [1,4,6,3,2,10]arr1.sort();console.log(arr1);let arr2 [e,ab,ac,d]arr2.sort();console.log(arr2);let arr3 [刘备,关羽,曹操,张飞]arr3.sort();console.log(arr3);/*一般的在进行排序的时候会给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)//数组打乱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);
/script
三.冒泡排序重点
执行过程 从数组的第一个元素开始依次比较相邻的两个元素。如果前面的元素比后面的元素大或小取决于排序顺序则交换这两个元素的位置。继续向后遍历数组重复1和2步骤直到遍历到倒数第二个元素。重复以上步骤的过程每次遍历都使得最大或最小的元素“浮”到上一轮排序中最后一个未排序的位置。重复上述步骤直到全部元素排序完成。 代码演示详细步骤/过程拆解
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title冒泡排序/title
/head
body/body
/html
scriptlet arr [3,5,4,2,1]//第一趟比较4次for (let i 0; i 4; i) {//比较两个相邻的大小如果i位置的值 大于 i1位置是值则交换数据if(arr[i]arr[i1]){let temp arr[i]arr[i] arr[i1]arr[i1] temp}}console.log(arr); //[3, 4, 2, 1, 5]//第二趟比较三次for (let i 0; i 3; i) {if(arr[i]arr[i1]){let temp arr[i]arr[i] arr[i1]arr[i1] temp}}console.log(arr); //[3, 2, 1, 4, 5]//第三趟比较两次for (let i 0; i 2; i) {if(arr[i]arr[i1]){let temp arr[i]arr[i] arr[i1]arr[i1] temp}}console.log(arr); //[2, 1, 3, 4, 5]//第四趟 比较一次for (let i 0; i 2; i) {if(arr[i]arr[i1]){let temp arr[i]arr[i] arr[i1]arr[i1] temp}}console.log(arr); //1, 2, 3, 4, 5]/*比较的数组每一次比较的趟数他和对应比较的次数关系是一共比较的趟数 arr.lenght-1每一轮比较的的次数是arr.lenght - 当前的趟数轮数*///外层控制比较的轮数for (let i 1; i arr.length; i) {//内层控制比较的次数for (let j 0; j arr.length-i; j) {if(arr[j]arr[j1]){ //(s[j]s[j1]) 从大到小let temp arr[j]arr[j] arr[j1]arr[j1] temp}}}/script
案例
练习随机生成 [10,80]的10个整数然后进行冒泡排序
//练习随机生成 [10,80]的10个整数然后进行冒泡排序let s []for (let i 0; i 10; i) {let sj Math.floor(Math.random()*7110)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[j1]){ //(s[j]s[j1]) 从大到小let temp s[j]s[j] s[j1]s[j1] temp} } }console.log(s);console.log(最小值是s[0]);console.log(最大值是s[s.length-1]);