原创 js 生成隨機數組或者叫做洗牌算法

我們假設有一個顏色數組是這樣的 var arr = ["red", "green", "blue", "yellow", "brown", "violet"]。如果將其順序打亂,生成一個隨機的數組。 這該如何做呢? 1.一種直觀的做法就是

原创 棧的應用4--中綴表達式轉換爲後綴表達式

先佔個坑,之前寫的代碼有問題。因此先佔個坑

原创 集合的實現2--使用數組

上節我們使用了對象來實現集合類,這節我們使用數組來實現同樣的功能 /* 使用數組來模擬集合 */ function Set() { var items = []; this.add = function (value) {

原创 rgb(a)和16進制相互轉換,rgbaToHex, hexToRgb.

最近工作有遇到,就記錄一下。 其實在寫正則表達式的時候,我認爲表達清楚是最重要的,簡潔反而是其次的。 /* rgba(100, 200, 80, 0.7); */ function rgbaToHex (rgba) { rgb

原创 多維數組按照指定項排序

多維數組按指定項迭代排序 比如[[[1, 2], [2, 10],[2, 0], ,[1, 4],  [4, 3]]這樣的二維數組 如果先按第一項排序,就得到[[1,2],[1,4],[2,10],[2,0],[4,3]], 然後再按照第

原创 單鏈表的實現

這節我們實現一個單鏈表,有詳細的註釋。之前貼出代碼好了 /* 鏈表數據結構的實現 */ function LinkedList() { var Node = function (element) { this.element =

原创 隨機數生成

function getRandom(cnt, min, max) { /* @cnt: 生成隨機數的個數 @min: 開始數 @max: 結束數 */ var arr = []; var temp; for(var

原创 字符串一些常見的練習操作

1.尋找所有子串的位置 function substrPosition (str, substr) { /* find all the substr position */ var position_arr = []; va

原创 Javascript單例模式

點擊打開鏈接 很不錯的文章 點贊 收藏 分享 文章舉報 前端小白的江湖路 發佈了88 篇原創文章 · 獲贊 37 · 訪問量 12萬+ 私信

原创 集合的實現1--使用對象

集合: 無序不重複 /* Set 集合:不重複並且無序 */ function Set() { var items = {}; /*集合中添加一個元素*/ this.add = function(value) { i

原创 優先隊列的實現

我們在排隊的時候,經常會按照優先級爲隊列進行排序 下面給出一種優先級隊列 /*優先隊列*/ function PriorityQueue() { var items = []; /* 這裏我們使用數字來定義優先級, 數字小的

原创 棧的實現

實現簡單,不多解釋了,使用數組來保存數據 function Stack () { var items = []; //入棧 this.push = function (item) { items.push(item); }

原创 棧的應用2--通用括號平衡

上節我們實現了圓括號的匹配 但實際上我們可以實現任意多種括號的匹配。 考慮這樣的匹配   {[](){}[]()}   。我們只需要在彈出棧的時候判斷一下對應關係即可     /* 通用括號匹配 */ function general

原创 單鏈表練習2--倒置或者翻轉

單鏈表的倒置,就是將單鏈表翻轉過來, 最後一個節點當成是第一個節點,以此類推。 重新生成一個新的鏈表,只在第0個位置插入可以實現 /*測試函數*/ function test(arr) { var link_list = new Li

原创 棧的應用3--進制轉換

進制轉換可以使用使用取餘法來實現 基本上是學習編程最常見的一個練習。 學習幾個基本的單詞 被除數: dividend 除數: divisor 商: quotient 餘數: remainder function numberConver