摘要:相關借鑒文章快速排序如果數組個數為個,則直接返回數組本身獲取數組中間值的索引取到數組中間那個值,取值,不加,則打印出來是一個數組,例如,加,則打印出來是一個值,例如定義兩個空數組,大于中間值放到,小于中間值放到數組去重冒泡排
相關借鑒文章:https://juejin.im/entry/57d90...
function quickSort(arr){
//如果數組個數為1個,則直接返回數組本身 if(arr.length<=1){ return arr } //獲取數組中間值的索引 var quickIndex = Math.floor(arr.length/2); //quick取到數組中間那個值,[0]取值,不加[0],則打印出來是一個數組,例如[9],加[0],則打印出來是一個值,例如9; var quick = arr.splice(quickIndex,1)[0]; //定義兩個空數組,大于中間值放到right,小于中間值放到left var left = []; var right = []; for(var i=0,len=arr.length;i}
var arr = [3,5,7,2,11,77]
document.write(quickSort(arr));//2,3,5,7,11,77
var arr1 = [1,2,2,3,3,4,5,6,6],arr2 = [];for(var i = 0;i < arr1.length;i++){
if(arr2.indexOf(arr1[i]) < 0){ arr2.push(arr1[i]) }}
document.write(arr2);//1,2,3,4,5,6冒泡排序原理:讓數組中的當前項和后一項進行比較,如果當前項大于后一項,我們讓兩者交換位置(小->大)
每一輪從前到后兩兩比較,雖然不一定實現最后的排序效果,但是可以把當前最大的放在末尾 具體比較的輪數:ary.length-1 數組有多長,我們只需要把總長度-1個數分別放在末尾,即可實現最后的排序 第一輪比較5次:一共六個,不需要和自己比較 第二輪比較4次:一共六個,不用和自己比,也不用和第一輪放在末尾的那個最大值比 第三輪比較3次: ...
每一輪比較的次數:ary.length - 1(不用和自己比)-當前已經執行的論數(執行一輪向末尾放一個最大值,這些值不需要在比較) a=12 b=13 a和b交換值第一種方法:
c=a a=b b=c第二種方法:
a=a+b;25b=a-b;12 a=a-b;13function bubble(ary){
for(var i=0;ifor(var j=0;j if(ary[j]>ary[j+1]){
var temp = ary[j];
ary[j] = ary[j+1];
ary[j+1] = temp;
}
}
}
return ary;
}
var ary = [5,3,1,57,89,9];
console.log(bubble(ary));如果是從大到小排序,直接return ary.reverse();
Array.prototype.sum = function(){var cur = 0; return this.reduce((prev,next)=>{ return cur = prev + next; }) return cur;}
var ary = [1,2,3,4];
console.log(ary.sum());//10function sumFun(cur){
var sumTot = 0; return cur.reduce((prev,next) => { return sumTot = prev + next; },0); return sumTot;}
var num = [1,2,3]
sumFun(num);//6
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102715.html
摘要:設置首字母大寫算法挑戰返回一個字符串確保字符串的每個單詞首字母都大寫,其余部分小寫。確認末尾字符算法檢查一個字符串是否以指定的字符串結尾。刪除數組中特定值算法挑戰刪除數組中的所有的假值。 在w3cschool上看到了這些初級算法題目,自己先嘗試做了一下,不會的也會查看一下別人的借鑒一下思路,更多的幫助自己熟悉字符串和數組方法的應用.如果您有更好的解法,可以指出來還有中級算法題目和后面的...
摘要:介紹排序算法是算法中最常見的算法之一,我這里要介紹的是排序算法中的三種基本算法冒泡排序選擇排序插入排序,在文章的后面我會對三種算法的速度進行對比。 1.介紹 排序算法是算法中最常見的算法之一,我這里要介紹的是排序算法中的三種基本算法:冒泡排序、選擇排序、插入排序,在文章的后面我會對三種算法的速度進行對比。 2.冒泡排序 冒泡排序其名來源與其算法實現,會使得數組中的元素一個個從數組一端漂...
摘要:使用方法創建一個對象創建對象,加密算法為讀取該文件,為是文件的對象創建一個摘要輸出摘要算法算法將散列算法與一個密鑰結合在一起,以阻止對簽名完整性的破壞。 未完成 1. 加密crypto 在crypto模塊中,為每一種加密算法定義了一個類 可以使用getCiphers方法查看在Node.js中所有能夠使用的加密算法crypto.getCiphers() 可以使用getHashes(...
摘要:,文本節點的比較,需要修改,則會調用。,新節點沒有子節點,老節點有子節點,直接刪除老節點。所以一句話,的作用主要是為了高效的更新虛擬。 20190125 Vue中的diff算法? 概念: diff算法是一種優化手段,將前后兩個模塊進行差異對比,修補(更新)差異的過程叫做patch(打補丁) 為什么vue,react這些框架中都會有diff算法呢? 我們都知道渲染真實dom的開銷是很大的...
摘要:通過觀察發現,如果匹配字符串中有相同的子字符串,那么的變化會有所不同。所以這個值的變化跟目標字符串沒什么關系,只跟自己的子字符串的重復性有關。的兩側子字符串相等,所以這時候倒數兩位位位代碼量不多但理解起來有點困難反正我理解了很久。 最近公司啟動小程序項目中,在搜索模塊有這么個功能需求:當用戶輸入搜索內容時實時地請求服務器得到一組較高匹配度的搜索關鍵字,在這些關鍵字中高亮顯示用戶的匹配輸...
閱讀 683·2021-11-22 09:34
閱讀 3822·2021-09-22 15:42
閱讀 1327·2021-09-03 10:28
閱讀 1072·2021-08-26 14:13
閱讀 1901·2019-08-29 15:41
閱讀 1423·2019-08-29 14:12
閱讀 3364·2019-08-26 18:36
閱讀 3307·2019-08-26 13:47