摘要:參考鏈接十大經典排序算法動圖演示冒泡排序將最大的放在最后第二種改善已經排序好的最大數組不必在比較選擇排序
參考鏈接:十大經典排序算法(動圖演示)
冒泡排序//-------------------------- for(var i=0,len=arr.length;i選擇排序arr[j]){ //將最大的放在最后 var temp=0; t=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } //--------第二種(改善)------------ for(var i=1,len=arr.length;i arr[j+1]){ var temp=0; t=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } }
//-------------------------- for(var i=0,len=arr.length-1;i直接插入排序arr[j]){ min=j; } } if(min!=i){ var temp=0; t=arr[min]; arr[min]=arr[i]; arr[i]=temp; } }
for (int i = 1; i < arr.Length; i++){ if (arr[i - 1] > arr[i]) { int temp = arr[i]; //每次取出當前的要比較的值 int j = i; while (j > 0 && arr[j - 1] > temp) //大于它的話,要賦值給它 { arr[j] = arr[j - 1]; j--; } arr[j] = temp; } }js實現快速排序
//-----------------first--------------- var quickSort = function(arr){ var arr = arr.concat(); //concat的新用法(深復制) if(arr.length<=1) return arr; var index = Math.floor(arr.length/2); var centerValue = arr.splice(index,1); //console.log(centerValue); var left = []; var right = []; for(var i=0,len=arr.length;i反轉排序=arr[i]){ left.push(arr[i]); }else{ right.push(arr[i]); } } // debugger //console.log(quickSort(left)); //console.log(right); var res1 = arguments.callee(left); var res2 = arguments.callee(right); //return left.concat(right); return res1.concat(centerValue,res2); } var arr=[9,8,7,4,5,3,77]; var result = quickSort(arr); console.log(result); console.log(arr); //-----------------second--------------- var quickSort = function(arr){ if(arr.length<=1) return arr; var index = Math.floor(arr.length/2); console.log(index); //1 var centerValue = arr.slice(index,index+1)[0]; console.log(centerValue); //5 var left = []; var right = []; for(var i=0,len=arr.length;i =arr[i]){ left.push(arr[i]); }else{ right.push(arr[i]); } } var res1 = arguments.callee(left); var res2 = arguments.callee(right); return res1.concat(res2); } var arr=[9,8,7,4,5,3,4,77]; //var result = quickSort(arr); //console.log(result); console.log(arr); var aa=[3,4]; //console.log(aa.slice(1,2)); console.log(aa.splice(0,0));
for(var i=0,len=arr.length-1;i參數排序 function mySort() { var tags = new Array();//使用數組作為參數存儲容器 tags = Array.prototype.slice.call(arguments); tags.sort(function(a,b){ return a-b; }); return tags;//返回已經排序的數組 } var result = mySort(50,11,16,32,24,99,57,100); //傳入參數個數不確定 console.info(result); //顯示結果
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88424.html
摘要:我們必須對數字數組進行升序排序,并找出給定數字在該數組中的位置。算法說明將值第二個參數插入到數組第一個參數中,并返回其在排序后的數組中的最低索引。我們的目標是將輸入的數字在輸入數組后中排序后,再返回它的索引。 翻譯:瘋狂的技術宅原文:https://medium.freecodecamp.o... 本文首發微信公眾號:前端先鋒歡迎關注,每天都給你推送新鮮的前端技術文章 編寫算法時...
摘要:算法原理插入排序是一種簡單直觀的排序算法。插入排序在實現上,通常采用排序,因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。新元素插入當前位置。 算法原理 插入排序是一種簡單直觀的排序算法。它的工作原理非常類似于我們抓撲克牌。對于未排序的數據(右手抓到的牌),在已排序序列(左后已經排好序的牌)中從后向前掃描,找到相應位置并插入。插入排序在實現上,通常采...
摘要:前言本文將分享幾個在項目中常用的數組方法原文地址不定期有干貨更新哦歡迎數組排序按數組元素大小從小到大進行排序按數組元素大小從大到小進行排序按數組元素的從小到大進行排序按數組元素的從大到小進行排序數組去重數組深拷貝數組等份分割數組扁平 前言 本文將分享幾個在項目中常用的數組方法~ 原文地址: https://github.com/webfansplz... 不定期有干貨更新哦,歡迎wat...
摘要:類型檢測數組檢測數組有以下幾種方法,前端保定就業方法前端保定就業前端保定就業前端保定就業轉換數組利用方法將數組轉換為字符串前端深圳保定輸出結果字符串前端深圳保定轉換原始值張三張三進出棧方法在數組最后面添加新的元素前端保定深圳前端保定深圳在數 Array類型 檢測數組 檢測數組有以下幾種方法, instanceof var arr=[前端,保定,就業]; console.log(arr ...
摘要:今天我們來討論的問題有兩個如何用實現選擇排序冒泡排序插入排序快速排序歸并排序堆排序對生成的萬個隨機數進行排序,各個排序算法的性能分析。快速排序快速排序算法基本上是面試必考排序算法,也是傳聞最好用的算法。 今天我們來討論的問題有兩個: 如何用JavaScript實現選擇排序、冒泡排序、插入排序、快速排序、歸并排序、堆排序; 對生成的10萬個隨機數進行排序,各個排序算法的性能分析。 創...
閱讀 693·2021-11-18 10:07
閱讀 2884·2021-09-22 16:04
閱讀 884·2021-08-16 10:50
閱讀 3346·2019-08-30 15:56
閱讀 1790·2019-08-29 13:22
閱讀 2667·2019-08-26 17:15
閱讀 1239·2019-08-26 10:57
閱讀 1111·2019-08-23 15:23