數組排序的方法

sort()對數組排序,不開闢新的內存,對原有數組元素進行調換
// 一、簡單數組簡單排序 .sort()
// var arrSimple = [1,8,7,6,11]
// function order(value1,value2){
// return value1-value2;
// }
 
// console.log( arrSimple.sort(order))



// 冒泡排序:兩兩比較,以升爲例,一直比到最後一項
// splice()
// 參數1:index:正數 刪除的位置,負數從結尾開始算
// 參數2:必須,要刪除的數量,設置爲0不會刪除項目
// 參數3:可選,向數組中添加新的項目
// var arr = [1,8,9,2,7,6]
// function bubblesort(arr){
// for(var i=arr.length-1;i>0;i--){
// for(var j=0;j<i;j++){
// if(arr[j]>arr[j+1]){
// var temp = arr[j]
// arr.splice(j,1,arr[j+1])
// arr.splice(j+1,1,temp)
// }
// }
// }
// return arr;
// }



// 選擇排序:將當前未肯定的模塊中的max和min取出來插到最前面或者後面
// var arr = [1,8,9,11,2,7,6]
// function bubblesort(array){
// for(var i=0;i<arr.length;i++){
// var min = arr[i]
// var minIndex = i
// for(var j = i+1;j<arr.length;j++){
// if(min>arr[j]){
// min = array[j];
// minIndex = j;
// }
// }
// arr.splice(i,0,min);
// arr.splice(minIndex+1,1)
// console.log(arr)
// }
// return arr;
// }



// 插入排序:選擇已經排好序的數組,與之相對比,直到找到小於他的一項,將其插入到這項前面
// function inserSort(arr){
// var start = 1;
// for(var i=start;i<arr.length;start++,i++){
// for(j=0;j<start;j++){
// if(arr[i]<=arr[j]){
// arr.splice(j,0,arr[i])
// arr.splice(i+1,1)
// break;
// }
// }
// }
// }

 

// 快速排序
// var times=0;
// var arr = [1,3,9,2,5,8,13]
// var quickSort=function(arr){
// //若是數組長度小於等於1無需判斷直接返回便可
// if(arr.length<=1){
// return arr;
// }
// var midIndex=Math.floor(arr.length/2);//取基準點
// var midIndexVal=arr.splice(midIndex,1);//取基準點的值,splice(index,1)函數能夠返回數組中被刪除的那個數arr[index+1]
// var left=[];//存放比基準點小的數組
// var right=[];//存放比基準點大的數組
// //遍歷數組,進行判斷分配
// for(var i=0;i<arr.length;i++){
// if(arr[i]<midIndexVal){
// left.push(arr[i]);//比基準點小的放在左邊數組
// console.log(left +'-----------1111111111111')
// }
// else{
// right.push(arr[i]);//比基準點大的放在右邊數組
// console.log(right+'----------------22222222222222')
// }
// console.log("第"+(++times)+"次排序後:"+arr);
// }
// //遞歸執行以上操做,對左右兩個數組進行操做,直到數組長度爲<=1;
// return quickSort(left).concat(midIndexVal,quickSort(right));
// var arr1 = quickSort(left).concat(midIndexVal,quickSort(right));
// console.log(arr1)
// };
// console.log(quickSort(arr));

 

for(i=0;i<5;i++){
setTimeout(function(){
console.log(i)
},1000)
}
// function makeFn(){
// var num = 0;
// function f(){
// num++;
// console.log(num);
// }
// return f;
// }
// var func = makeFn();
相關文章
相關標籤/搜索