金狮镖局 Design By www.egabc.com
有些代码一两个月都会忘了,有空多做下总结,记录下来,等需要用到的时候可以来翻翻总结的博客。写技术博客,对自己是一种总结,对别人,是一种参考。
1.sort()方法
var ar1=[2,4,6,8,1,3] var ar2=[2,16,36,8,56] ar1.sort() ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序 console.log(ar1)//[1,2,3,4,6,8] console.log(ar2)//[16, 2, 36, 56, 8] ar2.sort(function(a,b){ return a-b //a-b为升序 //return b-a //b-a为降序 }) console.log(ar2)//[2, 8, 16, 36, 56]
2.reverse()方法
var ar1=[2,4,6,8,1,3] ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序 console.log(ar1)//[3, 1, 8, 6, 4, 2]
3.冒泡排序
//每轮依次比较相邻两个数的大小,后面比前面小则交换 var b=0//设置用来调换位置的值 var a=[1,9,33,2,5,34,23,98,14]//冒泡排序 for(var i=0;i<a.length;i++){ for(var j=0;j<a.length;j++){ if(a[j]>a[j+1]){ b=a[j] a[j]=a[j+1] a[j+1]=b } } } console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
4.选择排序
//拿第一个数与后面数相比较,如果比后面的数大则交换 //拿第二个数与后面的数比较,如果比后面的数大则交换 //直到比较到倒数第二个数,最后一个数不用比较 var b=0//设置用来调换位置的值 var a=[1,9,33,2,5,34,23,98,14]//冒泡排序 for(var i=0;i<a.length;i++){ for(var j=i;j<a.length;j++){ if(a[j]>a[j+1]){ b=a[j] a[j]=a[j+1] a[j+1]=b } } } console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
5.快速排序
先从数列中取出一个数作为基准数
分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边
再对左右区间重复第二步,直到各区间只有一个数
function quickSort(arr, i, j) { if(i < j) { let left = i; let right = j; let mid = Math.floor((left+right)/2); let temp = arr[left]; arr[left] = arr[mid]; arr[mid] = temp; let pivot = arr[left]; while(i < j) { while(arr[j] >= pivot && i < j) { // 从后往前找比基准小的数 j--; } if(i < j) { arr[i++] = arr[j]; } while(arr[i] <= pivot && i < j) { // 从前往后找比基准大的数 i++; } if(i < j) { arr[j--] = arr[i]; } } arr[i] = pivot; quickSort(arr, left, i-1); quickSort(arr, i+1, right); return arr; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
js,排序,方法
金狮镖局 Design By www.egabc.com
金狮镖局
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金狮镖局 Design By www.egabc.com
暂无JS常用排序方法实例代码解析的评论...
更新日志
2024年11月18日
2024年11月18日
- 腾讯音乐人《未来立体声·Stereo Future VOL.12》[FLAC/分轨][176.46MB]
- 房东的猫2020-这是你想要的生活吗[青柴文化][WAV+CUE]
- 黄乙玲1990-春风恋情[日本东芝版][WAV+CUE]
- 黑鸭子2006-红色经典特别版[首版][WAV+CUE]
- 赵乃吉《你不是风平浪静的海》[320K/MP3][84.88MB]
- 赵乃吉《你不是风平浪静的海》[FLAC/分轨][176.46MB]
- 群星《心光》[320K/MP3][227.63MB]
- 张秀卿.1997-我不是无情的人【巨石】【WAV+CUE】
- 群星.1986-宝丽金难忘的回忆【宝丽金】【WAV+CUE】
- 王艺翔.2024-至暖(EP)【乐人】【FLAC分轨】
- 樊桐舟《流年微词HQCD》WAV+CUE
- Rachmaninoff-SymphonicDances-BerlinerPhilharmoniker,KirillPetrenko(2024)[24-96]
- 岡部啓一《NieRGestaltReplicantOrchestralArrangementAlbum》24-96\FLAC
- 群星《心光》[FLAC/分轨][307.76MB]
- 许茹芸《讨好》[WAV+CUE][1G]