欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中棧和隊列應用詳情

 更新時間:2022年06月20日 09:38:02   作者:??熊孩子依舊調皮????  
這篇文章主要介紹了JavaScript中棧和隊列應用詳情,棧如果用數(shù)組模擬的話是類似于一個U形桶狀堆??臻g,文章圍繞制圖展開詳細的內容展開更多相關內容,需要的小伙伴可以參考一下

什么是棧和隊列

棧如果用數(shù)組模擬的話是類似于一個U形桶狀堆??臻g,地下是封口的,只能從頂部一個地方進出,它的進出都是有順序的,看下圖:如果是進入,則是最下是最先進入的,如果要出,則是從最頂部先出

和隊列來對比,只是數(shù)據(jù)結構相同,隊列是一側進一側出,做任務隊列調度的時候都是先入先出

什么時候用到棧

從編輯器開發(fā)寫代碼的時候,如果代碼的中的括號寫錯了,則很容易判定出那個地方少了括號,在JavaScript語法中有可以設定大括號{}、中括號:[]、小括號:()、引號:""等可以判定的規(guī)則, 可以發(fā)現(xiàn)它是有一些規(guī)則的,可以通過兩側是否對稱來進行判斷,如果不對稱則提示錯誤

function (b){
  let a = []
  let obj = {"(":")","[":"]","{":"}"}
  for(let i = 0;i<b.length;i++ ){
    const last = b[i]
    if(last in obj){
      a.push(ele)
    }else{
      if(ele!= obj[stack.pop]){
        return false
      }
    }
  }
  return !a.length
}

思路:它在棧中首先通過遍歷把數(shù)組的每一位放到棧中,如果發(fā)現(xiàn)放入棧中有相同的字符則把它兩個同時推出,在代碼中,循環(huán)遍歷對象如果傳入的對象在Obj中有的話,則繼續(xù),如果沒有停止遍歷

目錄的計算

Nodejs中經(jīng)常碰到目錄的處理,比如webpack,目標是把當前的相對路徑轉換為絕對路徑,/a/b/../c./b,這種格式,pathResult,把傳入的字符串通過/拆分成數(shù)組,并判定它是否為空或者是是否相對路徑,并把它拆分并放到數(shù)組

function (path){
    var pathArr = path.split('/')
    var newPath = []
    arr.forEach(temp=>{
        if(temp == '' || temp == '.'){
            return 
        }else if(item == '..'){
           if(newPath.length){
               newPath.pop()
           }else{
               return 
           }
        }else{
            newPath.push(item)
        }
    })
}

它在棧中的應用是把每個對應的路徑名傳入到棧中,如果碰到相對路徑則,轉換為絕對路徑,最后在返回出 最后把該數(shù)組,通過/拆分成字符串 return "/"+newPath.join('/')

到此這篇關于JavaScript中棧和隊列應用詳情的文章就介紹到這了,更多相關JavaScript 棧和 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java基于ReadWriteLock實現(xiàn)鎖的應用

    Java基于ReadWriteLock實現(xiàn)鎖的應用

    這篇文章主要介紹了Java基于ReadWriteLock實現(xiàn)鎖的應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Java基于API接口爬取商品數(shù)據(jù)的示例代碼

    Java基于API接口爬取商品數(shù)據(jù)的示例代碼

    Java作為一種流行的編程語言,可以用于編寫程序來調用這些API接口,從而獲取商品數(shù)據(jù),本文將介紹如何使用Java基于API接口爬取商品數(shù)據(jù),包括請求API、解析JSON數(shù)據(jù)、存儲數(shù)據(jù)等步驟,并提供相應的代碼示例,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • SpringBoot?JavaMailSender發(fā)送郵件功能(實例詳解)

    SpringBoot?JavaMailSender發(fā)送郵件功能(實例詳解)

    JavaMailSender是Spring提供的,非常好用的,實現(xiàn)郵件發(fā)送的接口 ,這篇文章主要介紹了SpringBoot?JavaMailSender發(fā)送郵件功能,需要的朋友可以參考下
    2024-03-03
  • 一文搞懂Java項目中枚舉的定義與使用

    一文搞懂Java項目中枚舉的定義與使用

    枚舉就是用enum修飾是一種Java特殊的類,枚舉是class、底層是繼承了java.lang.Enum類的實體類。本文將詳解枚舉的定義與使用,需要的可以參考一下
    2022-06-06
  • springboot中使用mybatisplus自帶插件實現(xiàn)分頁的示例代碼

    springboot中使用mybatisplus自帶插件實現(xiàn)分頁的示例代碼

    這篇文章主要介紹了springboot中使用mybatisplus自帶插件實現(xiàn)分頁,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • springboot基于docsify?實現(xiàn)隨身文檔

    springboot基于docsify?實現(xiàn)隨身文檔

    這篇文章主要介紹了springboot基于docsify實現(xiàn)隨身文檔的相關資料,需要的朋友可以參考下
    2022-09-09
  • Spring的@Lazy懶加載注解用法詳細解析

    Spring的@Lazy懶加載注解用法詳細解析

    這篇文章主要介紹了Spring的@Lazy懶加載注解用法詳細解析,SpringIoC容器會在啟動的時候實例化所有單實例 bean ,如果我們想要實現(xiàn) Spring 在啟動的時候延遲加載 bean,即在首次調用bean的時候再去執(zhí)行初始化,就可以使用 @Lazy 注解來解決這個問題,需要的朋友可以參考下
    2023-11-11
  • Java實現(xiàn)AES算法的實例代碼

    Java實現(xiàn)AES算法的實例代碼

    高級加密標準(AES,Advanced?Encryption?Standard)為最常見的對稱加密算法(微信小程序加密傳輸就是用這個加密算法的),本文重點給大家介紹Java實現(xiàn)AES算法的實例代碼,感興趣的朋友一起看看吧
    2022-02-02
  • springboot使用攔截器判斷是否登錄

    springboot使用攔截器判斷是否登錄

    這篇文章主要介紹了springboot使用攔截器判斷是否登錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 基于Springboot實現(xiàn)JWT認證的示例代碼

    基于Springboot實現(xiàn)JWT認證的示例代碼

    本文主要介紹了基于Springboot實現(xiàn)JWT認證,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論