日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

数组的合并和升序排列_JavaScript - 数组排序 6 种常见算法是什么?

發布時間:2025/3/15 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数组的合并和升序排列_JavaScript - 数组排序 6 种常见算法是什么? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

著急用的話,選擇前兩個就行了,后面的看看就好。

開發中,遇到數組排序的需求很頻繁,這篇文章會介紹幾個常見排序思路。

一、希爾排序(性能最好)

如果要從大到小排列,則 while(arr[n] > arr[n - interval] && n > 0) 。

// 希爾排序算法 function xier(arr){var interval = parseInt(arr.length / 2);//分組間隔設置while(interval > 0){for(var i = 0 ; i < arr.length ; i ++){var n = i;while(arr[n] < arr[n - interval] && n > 0){var temp = arr[n];arr[n] = arr[n - interval];arr[n - interval] = temp;n = n - interval;}}interval = parseInt(interval / 2);}return arr; }// Array var arr = [10, 20, 40, 60, 60, 0, 30]// 打印排序后的數組 console.log(xier(arr))//[0, 10, 20, 30, 40, 60, 60]

二、sort排序(普通數組 / 數組嵌套對象)

一堆數組排序// Array var arr = [10, 20, 40, 60, 60, 0, 30]// 排序方法 arr.sort(function(a,b){/** return b-a; —> 降序排序* return a-b; —> 升序排列*/return a-b; })//括號里不寫回調函數則默認按照字母逐位升序排列// 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60] 對象數組排序(數組套對象)//對象數組排序 var arr = [{name:'syy', age:0},{name:'wxy', age:18},{name:'slj', age:8},{name:'wj', age:20} ];// 排序方法 function compare(property) {//property:根據什么屬性排序return function(a,b){var value1 = a[property];var value2 = b[property];/** value2 - value1; ——> 降序* value1 - value2; ——> 升序*/return value1 - value2;//升序排序} }// 打印排序后的數組 console.log(arr.sort(compare('age'))) /* 0: {name: "syy", age: 0} 1: {name: "slj", age: 8} 2: {name: "wxy", age: 18} 3: {name: "wj", age: 20} */

三、桶排序

特點:簡單,但非常浪費內存,幾乎不用。

桶中出現的數組元素都做個標記 1,然后將桶數組中有 1 標記的元素依次打印。

// Array var arr = []// 每個數組項做標記(1) for(let i = 0; i < arr.length; i++) {let key = arr[i]arr[key] = 1 }// 遍歷打印出每項 for(let j in arr) {debuggerconsole.log(j) }

四、冒泡排序

性能:一般(需要每項進行比較)。

每一趟找出最大的值。

// Array var arr = [10, 20, 40, 60, 60, 0, 30]/* * 總共比較次數為arr.length-1次 * 每次的比較次數為arr.length-1次 * 依次遞減 */ var temp;//交換變量標識// 兩層for分別表示當前項與第二項 for(let i = 0; i < arr.length - 1; i++) {for(let j = 0; j < arr.length - 1; j++) {// 如果當前項大于第二項(后一項)則交換if(arr[j] > arr[j+1]) {temp = arr[j]arr[j] = arr[j+1];arr[j+1] = temp;}} }// 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60]

五、選擇排序

性能:一般(需要每項進行比較)。

假定某個位置的值是最小值,與冒泡排序類似。

// Array var arr = [10, 20, 40, 60, 60, 0, 30]var temp;//交換變量標識// 兩層for分別表示當前項與第二項 for(let i = 0; i < arr.length - 1; i++) {for(let j = i + 1; j < arr.length; j++) {// 假設第二項是最小值(是則交換/否則繼續比較)if(arr[i] > arr[j]) {temp = arr[i];arr[i] = arr[j];arr[j] = temp;}} }// 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60]

六、插入排序

// Array var arr = [10, 20, 40, 60, 60, 0, 30]// 排序算法 for(var i = 0; i < arr.length; i++) {var n = i;while(arr[n] > arr[n+1] && n >= 0) {var temp = arr[n];arr[n] = arr[n+1];arr[n+1] = temp;n--;} }// 打印排序后的數組 console.log(arr)//[0, 10, 20, 30, 40, 60, 60]

————————————————

版權聲明:本文為CSDN博主「王佳斌」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:

JavaScript - 數組排序 6 種常見算法?blog.csdn.net

總結

以上是生活随笔為你收集整理的数组的合并和升序排列_JavaScript - 数组排序 6 种常见算法是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品热久久 | 黄色特一级 | 日韩精品影视 | 国产精品久久777777毛茸茸 | 青青青青在线 | 天天色综合色 | 久久久久欧美 | 瑟瑟视频免费看 | 成人免费网站黄 | 99热官网| xxxxx69| 国产精品国产成人国产三级 | 成人自拍视频在线 | 欧美黄色精品 | 久久精品在线视频 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 日韩av网站在线 | 向日葵视频在线播放 | 一区二区日本 | 日本老小玩hd老少配 | 久久免费视频网站 | 男人的天堂网av | 一区二区三区在线播放视频 | 一区二区自拍偷拍 | 亚洲成人精品在线播放 | 亚洲日本va中文字幕 | 久久久午夜精品福利内容 | wwwww国产| 日韩香蕉视频 | 亚洲国产精品女人久久久 | 日本特黄成人 | 亚洲第1页 | 一级黄色性生活视频 | 伊人草 | 欧美一级xxx | 12av毛片| 欧美日韩中文国产 | 日本精品视频一区 | 亚洲AV永久无码国产精品国产 | 国产靠逼网站 | 麻豆tube| 黄色在线视频观看 | 国产黄色免费 | 波多野结衣午夜 | 中文字幕第3页 | 亚洲国产中文字幕 | 日韩区欧美区 | 秋霞av一区二区三区 | 日本精品一区二区三区在线观看 | 伊人激情| 天天操天天射天天舔 | 欧美一级做性受免费大片免费 | 色偷偷噜噜噜亚洲男人 | 国产视频一区在线 | 国产一级片视频 | 色一情一区二区三区四区 | caoprom在线视频 | 国产日本欧美在线 | 黄色片免费网站 | 亚洲一区二区久久 | 国产日韩亚洲欧美 | 国产国语性生话播放 | 在线观看日韩视频 | 色呦呦视频在线观看 | 日日麻批免费视频播放 | 日日操夜夜骑 | 另类视频一区 | 另类综合视频 | 91色多多| 日本黄色免费大片 | 四色成人av永久网址 | 热久久免费视频 | 久久麻豆av | 日日爱夜夜操 | 中国黄色a级 | 亚洲欧美日本一区二区三区 | 国产精品无码网站 | 不卡黄色| 国产1区2区在线观看 | 午夜偷拍视频 | 成人性生交大全免 | 福利小视频在线播放 | 欧美国产在线观看 | 麻豆视频一区 | 精品国产午夜福利 | 日韩美女做爰高潮免费 | 日韩精品欧美激情 | 国产丝袜一区二区 | 牛牛精品视频 | 天天碰免费视频 | 先锋影音av资源站 | 国产片久久 | 岛国大片在线观看 | 亚洲精品久久一区二区三区777 | 永久免费av无码网站性色av | 黑人糟蹋人妻hd中文字幕 | 国产丰满大乳奶水在线视频 | 一级性生活大片 | 久久国产视频播放 |