国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

龍華網(wǎng)站建設(shè)多少錢外貿(mào)營銷型網(wǎng)站制作公司

龍華網(wǎng)站建設(shè)多少錢,外貿(mào)營銷型網(wǎng)站制作公司,品牌網(wǎng)站建設(shè)1毛尖,網(wǎng)站做排名靠前文章目錄232. 用棧實(shí)現(xiàn)隊(duì)列補(bǔ)充知識——Deque232. 用棧實(shí)現(xiàn)隊(duì)列 答案思路: 在push數(shù)據(jù)的時候,只要數(shù)據(jù)放進(jìn)輸入棧就好,但在pop的時候,操作就復(fù)雜一些,輸出棧如果為空,就把進(jìn)棧數(shù)據(jù)全部導(dǎo)入進(jìn)來&#xff0…

文章目錄

  • 232. 用棧實(shí)現(xiàn)隊(duì)列
  • 補(bǔ)充知識——Deque

232. 用棧實(shí)現(xiàn)隊(duì)列

答案思路:

在push數(shù)據(jù)的時候,只要數(shù)據(jù)放進(jìn)輸入棧就好,但在pop的時候,操作就復(fù)雜一些,輸出棧如果為空,就把進(jìn)棧數(shù)據(jù)全部導(dǎo)入進(jìn)來(注意是全部導(dǎo)入),再從出棧彈出數(shù)據(jù),如果輸出棧不為空,則直接從出棧彈出數(shù)據(jù)就可以了。

如果進(jìn)棧和出棧都為空的話,說明模擬的隊(duì)列為空了。

class MyQueue {Deque<Integer> inStack;Deque<Integer> outStack;public MyQueue() {inStack=new LinkedList<Integer>();outStack=new LinkedList<Integer>();}public void push(int x) {inStack.push(x);}public int pop() {if(outStack.isEmpty()){popInStack();}return outStack.pop();}public int peek() {if(outStack.isEmpty()){popInStack();}return outStack.peek();}public boolean empty() {return inStack.isEmpty()&&outStack.isEmpty();}public void popInStack(){while(!inStack.isEmpty()){outStack.push(inStack.pop());}}
}

補(bǔ)充知識——Deque

定義
雙向隊(duì)列:支持插入刪除元素的線性集合。
java官方文檔推薦用deque實(shí)現(xiàn)棧(stack)。

和Queue的區(qū)別
Deque是double ended queue,將其理解成雙端結(jié)束的隊(duì)列,雙端隊(duì)列,可以在首尾插入或刪除元素。
Queue的解釋中,Queue就是簡單的FIFO隊(duì)列。
所以在概念上來說,Queue是FIFO的單端隊(duì)列,Deque是雙端隊(duì)列。

特點(diǎn)
1.插入、刪除、獲取操作支持兩種形式:快速失敗和返回null或true/false
2.既具有FIFO特點(diǎn)又具有LIFO特點(diǎn),即是隊(duì)列又是棧
3.不推薦插入null元素,null作為特定返回值表示隊(duì)列為空
4.未定義基于元素相等的equals和hashCode

方法

  • addFirst(): 向隊(duì)頭插入元素,如果元素為空,則發(fā)生NPE(空指針異常)
  • addLast(): 向隊(duì)尾插入元素,如果為空,則發(fā)生NPE
  • offerFirst(): 向隊(duì)頭插入元素,如果插入成功返回true,否則返回false
  • offerLast(): 向隊(duì)尾插入元素,如果插入成功返回true,否則返回false
  • removeFirst(): 返回并移除隊(duì)頭元素,如果該元素是null,則發(fā)生NoSuchElementException
  • removeLast(): 返回并移除隊(duì)尾元素,如果該元素是null,則發(fā)生NoSuchElementException
  • pollFirst(): 返回并移除隊(duì)頭元素,如果隊(duì)列無元素,則返回null
  • pollLast(): 返回并移除隊(duì)尾元素,如果隊(duì)列無元素,則返回null
  • getFirst(): 獲取隊(duì)頭元素但不移除,如果隊(duì)列無元素,則發(fā)生NoSuchElementException
  • getLast(): 獲取隊(duì)尾元素但不移除,如果隊(duì)列無元素,則發(fā)生NoSuchElementException
  • peekFirst(): 獲取隊(duì)頭元素但不移除,如果隊(duì)列無元素,則返回null
  • peekLast(): 獲取隊(duì)尾元素但不移除,如果隊(duì)列無元素,則返回null
  • pop(): 彈出棧中元素,也就是返回并移除隊(duì)頭元素,等價于removeFirst(),如果隊(duì)列無元素,則發(fā)生NoSuchElementException
  • push(): 向棧中壓入元素,也就是向隊(duì)頭增加元素,等價于addFirst(),如果元素為null,則發(fā)生NPE,如果??臻g受到限制,則發(fā)生IllegalStateException

實(shí)現(xiàn)
ArrayDeque: 基于數(shù)組實(shí)現(xiàn)的線性雙向隊(duì)列,通常作為?;蜿?duì)列使用,但是棧的效率不如LinkedList高。
LinkedList: 基于鏈表實(shí)現(xiàn)的鏈?zhǔn)诫p向隊(duì)列,通常作為?;蜿?duì)列使用,但是隊(duì)列的效率不如ArrayQueue高。

private static void usingAsQueue() {Deque<Integer> queue=new ArrayDeque<>();System.out.println("隊(duì)列為空:"+queue.isEmpty());   //判斷隊(duì)列是否為空queue.addLast(12);   //添加元素System.out.println("隊(duì)列為空:"+queue.isEmpty());   //判斷隊(duì)列是否為空System.out.println(queue.peekFirst());   //獲取隊(duì)列首部元素System.out.println(queue.pollFirst());   //獲取并移除棧頂元素System.out.println("隊(duì)列為空:"+queue.isEmpty());   //判斷隊(duì)列是否為空}private static void usingAsStack() {//作為棧使用Deque<Integer> stack=new LinkedList<>();System.out.println("棧為空:"+stack.isEmpty());   //判斷棧是否為空stack.addFirst(12);System.out.println("棧為空:"+stack.isEmpty());   //判斷棧是否為空System.out.println(stack.peekFirst());   //獲取棧頂元素System.out.println(stack.pollFirst());   //獲取并移除棧頂元素System.out.println("棧為空:"+stack.isEmpty());   //判斷棧是否為空System.out.println("============================================");
http://m.aloenet.com.cn/news/39737.html

相關(guān)文章:

  • 遵義公司網(wǎng)站搭建多少錢北京seo招聘信息
  • web開發(fā)是做網(wǎng)站搜索引擎推廣培訓(xùn)
  • magento做預(yù)訂類網(wǎng)站免費(fèi)做網(wǎng)站的平臺
  • 網(wǎng)站開發(fā)常去的論壇寧波網(wǎng)站推廣網(wǎng)站優(yōu)化
  • 花生殼做網(wǎng)站速度個人網(wǎng)站推廣怎么做
  • 電子商務(wù)網(wǎng)站開發(fā)與建設(shè)試卷網(wǎng)絡(luò)廣告推廣
  • 電子商務(wù)網(wǎng)站建設(shè)屬性百度互聯(lián)網(wǎng)營銷是什么
  • 手機(jī)網(wǎng)站開發(fā) caso平臺
  • 網(wǎng)站全程設(shè)計(jì)技術(shù)百度一下打開網(wǎng)頁
  • 合肥大建設(shè)優(yōu)化seo設(shè)置
  • 自己做頭像的網(wǎng)站非流光全網(wǎng)推廣平臺
  • 昆明網(wǎng)站建設(shè)開發(fā)制作全國分站seo
  • 愛網(wǎng)站網(wǎng)站查詢鄭州seo課程
  • 購物網(wǎng)站建設(shè)教程關(guān)鍵詞推廣效果
  • 天津個人網(wǎng)站建設(shè)廊坊seo優(yōu)化排名
  • 志愿者管理網(wǎng)站開發(fā)的需求分析 基于 java廣告接單平臺有哪些
  • 南沙網(wǎng)站建設(shè)小說搜索風(fēng)云榜
  • 懷集建設(shè)房管部門網(wǎng)站淘寶美工培訓(xùn)
  • 江西景德鎮(zhèn)建設(shè)廳網(wǎng)站seo行業(yè)崗位
  • 江西會昌建設(shè)局網(wǎng)站建站軟件可以不通過網(wǎng)絡(luò)建設(shè)嗎
  • 網(wǎng)站管理系統(tǒng)后臺不能發(fā)布文章了網(wǎng)絡(luò)營銷顧問
  • 石家莊網(wǎng)站制作公司最大的中文搜索引擎
  • 網(wǎng)站設(shè)計(jì)制作系統(tǒng)哪個好搜索引擎優(yōu)化的根本目的
  • 制作網(wǎng)站哪里好廣告投放方案
  • 網(wǎng)站 切圖中國疫情最新情況
  • 工業(yè)設(shè)計(jì)和產(chǎn)品設(shè)計(jì)哪個好seo關(guān)鍵詞優(yōu)化軟件合作
  • 如何查公司的工商注冊信息網(wǎng)站推廣與優(yōu)化方案
  • 深圳企業(yè)網(wǎng)站制作哪家好百度搜索引擎收錄
  • 做網(wǎng)站人太原網(wǎng)站建設(shè)制作
  • 網(wǎng)站哪個公司好南寧seo外包要求