久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日焦點 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » 軟件開發 » 正文

Js快速排序方法實例

放大字體  縮小字體 發布日期:2018-02-26  來源:企業800網  作者:新格網  瀏覽次數:722  【去百度看看】
核心提示:快速排序主要分三部分:1、選出一個基準(pivot) 2、所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的后面(相同的數可以到任一邊)。在這個分區退出之后,該基準就處于數列的中間位置。這個稱為分區(partition)操作;3、遞歸地(recursive)把小于基準值元素的子數列和大于基準值元素的子數列排序;遞歸的最底部情形,是數列的大小是零或一,也就是永遠都已經被排序好了。雖然一直遞歸下去,但是這個算法總會退出,因為在每次的迭代(iteration)中,它至少會把一個元素擺到
快速排序主要分三部分:1、選出一個基準(pivot) 2、所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的后面(相同的數可以到任一邊)。在這個分區退出之后,該基準就處于數列的中間位置。這個稱為分區(partition)操作;3、遞歸地(recursive)把小于基準值元素的子數列和大于基準值元素的子數列排序;遞歸的最底部情形,是數列的大小是零或一,也就是永遠都已經被排序好了。雖然一直遞歸下去,但是這個算法總會退出,因為在每次的迭代(iteration)中,它至少會把一個元素擺到它最后的位置去。

function quickSort(arr) {   
if (arr.length <= 1) { return arr } console.log("原數組是:" + arr)   
var pivotIndex = Math.floor(arr.length / 2)   
var pivot = arr.splice(pivotIndex, 1)[0]  
var left = []   
var right = []
 console.log("將中介提取出來后數組是:" + arr)   
for (var i = 0 ; i < arr.length ; i++){ 
console.log("此刻中介是:" + pivot + "當前元素是:" + arr[i])    
 if (arr[i] < pivot) {      
 left.push(arr[i]) console.log("移動" + arr[i] + "到左邊")    
 } else {      
 right.push(arr[i]) console.log("移動" + arr[i] + "到右邊")    
 }  
 }  
return quickSort(left).concat([pivot], quickSort(right)) } 
var nums = [2,3,4,3,1,5,7,122,341,-1] 
console.log(quickSort(nums))

第二種方法:

function quickSort(arr) {   
if (arr.length <= 1) { return arr } console.log("原數組是:" + arr)   
var pivotIndex = Math.floor(arr.length / 2)   
var pivot = arr.splice(pivotIndex, 1)[0]  
var left = []   
var right = []
 console.log("將中介提取出來后數組是:" + arr)   
for (var i = 0 ; i < arr.length ; i++){ 
console.log("此刻中介是:" + pivot + "當前元素是:" + arr[i])    
 if (arr[i] < pivot) {      
 left.push(arr[i]) console.log("移動" + arr[i] + "到左邊")    
 } else {      
 right.push(arr[i]) console.log("移動" + arr[i] + "到右邊")    
 }  
 }  
return quickSort(left).concat([pivot], quickSort(right)) } 
var nums = [2,3,4,3,1,5,7,122,341,-1] 
console.log(quickSort(nums))

相關推薦:

Javascript實現快速排序分析

PHP實現快速排序的方法示例

php實現二維數組快速排序算法的示例

以上就是Js快速排序方法實例的詳細內容,更多請關注php中文網其它相關文章!

 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 皖ICP備2021004516號-14
企業800網 · 提供技術支持