前端面試題 幾種排序方法 JS版

2021-10-09 02:42:32 字數 994 閱讀 7132

相對於後端的朋友來說,前端的一些面試題會出一些演算法題,但是更多的來說是一些簡單的演算法題,比如說陣列的排序,反轉二叉樹,爬樓梯的動態規劃等簡單問題,今天整理了一下排序的方法。

1、氣泡排序

這個應該說是最常用的排序方式了,實現的方法及就是兩層迴圈,逐個的對比,以從小到大排序為例,如果遇見後邊比前邊元素小的情況下,交換在陣列中的位置。

function bubbling(arr)

} }return arr;

}

2、選擇排序

選擇排序的思路就是說在陣列中找到最小的乙個數,把他放到陣列的第乙個,然後再在剩下的裡邊挑選出最小的,放在陣列的第二個,以此類推,直到最後乙個,直接上**。

function selectsort(arr)

} if(i != minindex)

} return arr;

}

3、快速排序

快排呢,就是先找到陣列的中間位置,然後把比他小的元素放到乙個陣列,再把比他大的放在乙個陣列,最後把兩個陣列,結合中間元素拼接稱最終結果,有人可能會說左邊陣列不一定是從小到大排列的,這時候呢,再次呼叫上邊函式,按照原來的思路把它進行分解組合,就可以了。

function quicksort(arr))

return arr;

}

5、插入排序

插入排序是從前往後,每乙個元素對比前面的元素,放在前面比他小的後邊,比他大的前邊,相當於是乙個逐個元素進行排序的方式。

function insertion(arr) 

arr[preindex + 1] = current;

}return arr;

}

歸併,堆,還沒寫出來,菜鳥回來再來改部落格。先就這樣吧,啥也不是。

Js前端面試題

1.判斷js型別的方法 1 typof 2 可以判斷出 string boolean undefiend number 3 但是判斷typeof null 時值為object 判斷物件陣列的時候也是object object.prototype.tostring.call 可以判斷出所有型別 arr...

前端面試題 Js

1.原型 原型鏈 建構函式 例項 繼承 原型 proto 原型物件 prototype 用作建構函式中有prototype 原型物件 例項中有 proto 2.有幾種方式可以實現繼承 原型繼承,構造繼承,例項繼承,拷貝繼承,組合繼承,寄生組合繼承,class繼承 3.用原型實現繼承有什麼缺點,如何解...

array 前端面試題 JS陣列的前端面試題

關於陣列的前端面試題 如何判斷乙個變數是否為陣列?為什麼不用 typeof var list 1,2,3 typeof list object array 繼承與object 所以typeof 會直接返回 object 所以不可以用 typeof 方法來檢測 為什麼不用 instanceof?var...