国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端面試總結--數據結構與算法二

happen / 592人閱讀

摘要:棧棧是一種遵從后進先出原則的有序集合。稱作棧頂,另一端就叫棧底。棧的創建接下來,是棧的方法添加新元素到棧頂。移除棧頂的元素,同時返回被移除的元素。比如要把十進制轉化成二進制,可以將十進制數字和相除,直到結果是為止。

棧是一種遵從后進先出(LIFO)原則的有序集合。新添加的或者待刪除的元素都保存在棧的末尾。稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都接近棧底。

棧的創建
function Stack(){
   var items = [];
}

接下來,是棧的方法:

push(element) -- 添加新元素到棧頂。

pop() -- 移除棧頂的元素,同時返回被移除的元素。

peek() -- 返回棧頂的元素,但不對棧做任何操作。

isEmpty() -- 如果棧里沒有任何元素就返回true,否則返回false。

clear() -- 移除棧里的所有元素。

size() -- 返回棧里的元素個數。

棧的完整代碼
function Stack(){
    var items = [];
    
    this.push = function(element){
        items.push(element);
    }
    
    this.pop = function(){
        return items.pop();    
    }
    
    this.peek = function(){
        return items[items.length-1];
    }
    
    this.isEmpty = function(){
        return items.length == 0;
    }
    
    this.size = function(){
        return items.length;
    }
    
    this.clear = function(){
        items = [];
    }
    
    this.print = function(){
        console.log(items.toString());
    }
}

進制轉換問題

如何將十進制與其他進制進行轉換,可以用stack來解決這個問題。
比如要把十進制轉化成二進制,可以將十進制數字和2相除,直到結果是0為止。

function baseConverter(decNumber,base){
    var remStack = new Stack(), rem, baseString="", digits = "0123456789ABCDEF";
    while(decNumber > 0){
        rem = Math.floor(decNumber % base);
        remStack.push(rem);
        decNumber = Math.floor(decNumber / base);
    }
    while(!remStack.isEmpty()){
        baseString += digits[remStack.pop()];
    }
    return baseString;
}

console.log(baseConverter(100345,2));
console.log(baseConverter(100345,8));
console.log(baseConverter(100345,16));

參考書籍:Learning Javascript Data Structures and Algorithms

推薦一個找vue,angular組件的輪子工廠

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88409.html

相關文章

  • 前端資源系列(4)-前端學習資源分享&前端面試資源匯總

    摘要:特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 本以為自己收藏的站點多,可以很快搞定,沒想到一入匯總深似海。還有很多不足&遺漏的地方,歡迎補充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應和斧正,會及時更新,平時業務工作時也會不定期更...

    princekin 評論0 收藏0
  • 18年求職面經及總結

    摘要:年求職面經及總結我的求職之路差不多走到盡頭了感覺真是精疲力盡了把這大半年的經歷和面試總結寫下來希望能給和我一樣在求職路上煎熬的人一點幫助先說背景微電子科學與工程專業學過兩門和相關的課程語言和單片機這個專業的唯一好處就是大部分人并不知道這個專 18年求職面經及總結 我的求職之路差不多走到盡頭了,感覺真是精疲力盡了.把這大半年的經歷和面試總結寫下來,希望能給和我一樣在求職路上煎熬的人一點幫...

    zhangwang 評論0 收藏0
  • 18年求職面經及總結

    摘要:年求職面經及總結我的求職之路差不多走到盡頭了感覺真是精疲力盡了把這大半年的經歷和面試總結寫下來希望能給和我一樣在求職路上煎熬的人一點幫助先說背景微電子科學與工程專業學過兩門和相關的課程語言和單片機這個專業的唯一好處就是大部分人并不知道這個專 18年求職面經及總結 我的求職之路差不多走到盡頭了,感覺真是精疲力盡了.把這大半年的經歷和面試總結寫下來,希望能給和我一樣在求職路上煎熬的人一點幫...

    fjcgreat 評論0 收藏0
  • [面試專題]一線互聯網大廠面試總結

    摘要:道阻且長啊前端面試總結前端面試筆試面試騰訊一面瀏覽器工作原理瀏覽器的主要組件包括用戶界面包括地址欄后退前進按鈕書簽目錄瀏覽器引擎用來查詢及操作渲染引擎的接口渲染引擎渲染界面和是基于兩種渲染引擎構建的,使用自主研發的渲染引擎,和都使用網絡用來 道阻且長啊TAT(前端面試總結) 前端 面試 筆試 面試 騰訊一面 1.瀏覽器工作原理 瀏覽器的主要組件包括: 用戶界面- 包括地址欄、后退/前...

    lemanli 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<