做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript實現快速排序的方法分析

來源:懂視網 責編:小采 時間:2020-11-27 22:21:54
文檔

JavaScript實現快速排序的方法分析

JavaScript實現快速排序的方法分析:本文實例講述了JavaScript實現快速排序的方法。分享給大家供大家參考,具體如下: 思想: 通過分治思想、遞歸方法將數據依次分解為包含較小元素和較大元素的不同子序列 1.在數組中選擇一個元素為基準 2.對數組進行遍歷,小于基準的元素都移到基準的左邊,大于
推薦度:
導讀JavaScript實現快速排序的方法分析:本文實例講述了JavaScript實現快速排序的方法。分享給大家供大家參考,具體如下: 思想: 通過分治思想、遞歸方法將數據依次分解為包含較小元素和較大元素的不同子序列 1.在數組中選擇一個元素為基準 2.對數組進行遍歷,小于基準的元素都移到基準的左邊,大于

本文實例講述了JavaScript實現快速排序的方法。分享給大家供大家參考,具體如下:

思想:

通過分治思想、遞歸方法將數據依次分解為包含較小元素和較大元素的不同子序列

1.在數組中選擇一個元素為基準

2.對數組進行遍歷,小于基準的元素都移到基準的左邊,大于基準的元素都移到基準的右邊

3.對基準左邊和右邊的兩個子集,不斷重復前兩步,直到所有子集只剩下一個元素為止

實現代碼:

function sqort(arr){
 if(arr.length===0){
 return [];
}
var left=[];
var right=[];
var pivot=arr[0];//(基準以首元素)
for(var i=1;i<arr.length;i++){
 if(arr[i]<pivot){
 left.push(arr[i]);
}else{
 right.push(arr[i]);
}
}
return sqort(left).concat(pivot,qsort(right));//遞歸
}
var a=[];
for (i=0;i<10;++i){
a[i]=Math.floor(Math.random()*100+1);
}
console.log(a);
console.log(sqort(a));
//(基準以中間元素的情況)
function sqort(arr){
 if(arr.length<=1){
 return arr;
}
var left=[];
var right=[];
var pivotIndex=Math.floor(arr.length/2);
var pivot=arr.splice(pivotIndex,1)[0];//(基準以中間元素)
for(var i=1;i<arr.length;i++){
 if(arr[i]<pivot){
 left.push(arr[i]);
}else{
 right.push(arr[i]);
}
}
return sqort(left).concat(pivot,sqort(right));//遞歸
}
var a=[12,34,23,78,34,26];
console.log(a);
console.log(sqort(a));

注:  對于較小數組和較大數組分別遞歸調用sqort()函數,當遞歸結束時候,再將較小的數組與基準以及較大的數組連接起來形成最終的有序數組并返回。

PS:這里再為大家推薦一款關于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript實現快速排序的方法分析

JavaScript實現快速排序的方法分析:本文實例講述了JavaScript實現快速排序的方法。分享給大家供大家參考,具體如下: 思想: 通過分治思想、遞歸方法將數據依次分解為包含較小元素和較大元素的不同子序列 1.在數組中選擇一個元素為基準 2.對數組進行遍歷,小于基準的元素都移到基準的左邊,大于
推薦度:
標簽: 方法 的方法 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 静乐县| 修文县| 闻喜县| 古田县| 德昌县| 措勤县| 福贡县| 奉节县| 永福县| 揭阳市| 益阳市| 苍山县| 芜湖县| 衢州市| 安新县| 沙雅县| 汾阳市| 大兴区| 班戈县| 镇巴县| 清新县| 东台市| 靖州| 商南县| 上饶市| 牙克石市| 临海市| 景泰县| 汕尾市| 南阳市| 兴宁市| 宁城县| 志丹县| 和平县| 武功县| 无锡市| 宜丰县| 台南县| 岳西县| 石狮市| 宜都市|