摘要:參考鏈接十大經(jīng)典排序算法動圖演示冒泡排序?qū)⒆畲蟮姆旁谧詈蟮诙N改善已經(jīng)排序好的最大數(shù)組不必在比較選擇排序
參考鏈接:十大經(jīng)典排序算法(動圖演示)
冒泡排序//-------------------------- 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實現(xiàn)快速排序
//-----------------first--------------- var quickSort = function(arr){ var arr = arr.concat(); //concat的新用法(深復(fù)制) 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反轉(zhuǎn)排序=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參數(shù)排序 function mySort() { var tags = new Array();//使用數(shù)組作為參數(shù)存儲容器 tags = Array.prototype.slice.call(arguments); tags.sort(function(a,b){ return a-b; }); return tags;//返回已經(jīng)排序的數(shù)組 } var result = mySort(50,11,16,32,24,99,57,100); //傳入?yún)?shù)個數(shù)不確定 console.info(result); //顯示結(jié)果
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/88424.html
摘要:我們必須對數(shù)字數(shù)組進行升序排序,并找出給定數(shù)字在該數(shù)組中的位置。算法說明將值第二個參數(shù)插入到數(shù)組第一個參數(shù)中,并返回其在排序后的數(shù)組中的最低索引。我們的目標是將輸入的數(shù)字在輸入數(shù)組后中排序后,再返回它的索引。 翻譯:瘋狂的技術(shù)宅原文:https://medium.freecodecamp.o... 本文首發(fā)微信公眾號:前端先鋒歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 編寫算法時...
摘要:算法原理插入排序是一種簡單直觀的排序算法。插入排序在實現(xiàn)上,通常采用排序,因而在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后挪位,為最新元素提供插入空間。新元素插入當前位置。 算法原理 插入排序是一種簡單直觀的排序算法。它的工作原理非常類似于我們抓撲克牌。對于未排序的數(shù)據(jù)(右手抓到的牌),在已排序序列(左后已經(jīng)排好序的牌)中從后向前掃描,找到相應(yīng)位置并插入。插入排序在實現(xiàn)上,通常采...
摘要:前言本文將分享幾個在項目中常用的數(shù)組方法原文地址不定期有干貨更新哦歡迎數(shù)組排序按數(shù)組元素大小從小到大進行排序按數(shù)組元素大小從大到小進行排序按數(shù)組元素的從小到大進行排序按數(shù)組元素的從大到小進行排序數(shù)組去重數(shù)組深拷貝數(shù)組等份分割數(shù)組扁平 前言 本文將分享幾個在項目中常用的數(shù)組方法~ 原文地址: https://github.com/webfansplz... 不定期有干貨更新哦,歡迎wat...
摘要:類型檢測數(shù)組檢測數(shù)組有以下幾種方法,前端保定就業(yè)方法前端保定就業(yè)前端保定就業(yè)前端保定就業(yè)轉(zhuǎn)換數(shù)組利用方法將數(shù)組轉(zhuǎn)換為字符串前端深圳保定輸出結(jié)果字符串前端深圳保定轉(zhuǎn)換原始值張三張三進出棧方法在數(shù)組最后面添加新的元素前端保定深圳前端保定深圳在數(shù) Array類型 檢測數(shù)組 檢測數(shù)組有以下幾種方法, instanceof var arr=[前端,保定,就業(yè)]; console.log(arr ...
摘要:今天我們來討論的問題有兩個如何用實現(xiàn)選擇排序冒泡排序插入排序快速排序歸并排序堆排序?qū)ι傻娜f個隨機數(shù)進行排序,各個排序算法的性能分析??焖倥判蚩焖倥判蛩惴ɑ旧鲜敲嬖嚤乜寂判蛩惴ǎ彩莻髀勛詈糜玫乃惴?。 今天我們來討論的問題有兩個: 如何用JavaScript實現(xiàn)選擇排序、冒泡排序、插入排序、快速排序、歸并排序、堆排序; 對生成的10萬個隨機數(shù)進行排序,各個排序算法的性能分析。 創(chuàng)...
閱讀 774·2021-11-18 10:07
閱讀 2998·2021-09-22 16:04
閱讀 971·2021-08-16 10:50
閱讀 3558·2019-08-30 15:56
閱讀 1855·2019-08-29 13:22
閱讀 3178·2019-08-26 17:15
閱讀 1445·2019-08-26 10:57
閱讀 1198·2019-08-23 15:23