js中 的排序方法
氣泡排序
思想:陣列中相鄰元素兩兩比較,如果第一個元素大於第二個元素,交換位置,第一輪比較結束,能確定一個最大值,然後進行第二類比較。
var arr = [11,2,3,5,6,67];
for(var i=1; i<arr.length; i++){
for(var j=0; j<arr.length-i; j++){
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
**選擇排序**
思想:假定陣列中第一個元素為最小值,對應的索引值為minIndex,讓該值和剩餘元素進行比較,改變minIndex的指向,指向小值的索引,讓minIndex對應的值和剩餘的值進行比較,第一輪結束能確定最小值對應minIndex,讓其與第一個元素的位置進行交換
var arr = [11,3,45,56,6,7]
function selectSort(arr){
for(var i=0; i<arr.length-1; i++){
var minIndex = i;
for(var j=i+1; j<arr.length; j++){
if(arr[minIndex] >arr[j]){
minIndex = j;
}
}
var temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}
console.log(selectSort(arr));
©著作權歸作者所有:來自51CTO部落格作者outsider96的原創作品,如需轉載,請註明出處,否則將追究法律責任
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2818983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js字串排序方法JS字串排序
- Java集合中的排序方法Java排序
- js-面試中的快速排序JS面試排序
- Go 中的三種排序方法Go排序
- 經常提及的幾個js排序方法(氣泡排序、選擇排序、計數排序)JS排序
- JS陣列隨機排序的三種方法JS陣列隨機排序
- js中的字串方法JS字串
- js中的常用方法JS
- pandas | DataFrame中的排序與彙總方法排序
- js中的toString方法JS
- JS中建立物件的方法JS物件
- angularjs中的$eval方法AngularJS
- 關於js陣列方法sort()負數排序的陷阱JS陣列排序
- js中陣列(Array)的排序(sort)注意事項JS陣列排序
- JS中reduce方法JS
- 用原生Js利用sort方法 實現圖片的正 倒排序和隨機排序JS排序隨機
- js中Array的方法簡介JS
- js中修改this的指向方法整理JS
- casperjs中fill()方法的使用JS
- JS中可能用得到的全部的排序演算法JS排序演算法
- java中json的使用方法JavaJSON
- js中Object那些不常用的方法JSObject
- JS中的call、apply、bind方法JSAPP
- JS中的call()和apply()方法JSAPP
- JS中運算元組的方法JS
- 簡單的排序方法排序
- 外部js呼叫vue的methods中的方法JSVue
- js 快速排序JS排序
- js堆排序JS排序
- casperjs中start方法的使用方法總結JS
- casperjs中getPageContent()方法及getHTML()方法的使用JSHTML
- js將陣列中的字串執行字母表排序JS陣列字串排序
- cocos2d JS 中的陣列拼接與排序JS陣列排序
- MySQL中的排序MySql排序
- 探究官方 JSON 與阿里的 FastJSON 中 put 方法JSON阿里AST
- 記一次產品需求中的陣列排序方法陣列排序
- JS中的call()方法和apply()方法用法總結JSAPP
- 理解JS中的call、apply、bind方法(********************************************************JSAPP