大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 介紹堆棧兩種實現方式

介紹堆棧兩種實現方式

更新時間:2020-11-02 18:11:21 來源:動力節點 瀏覽1633次

Java語言中的棧(stack)與堆(heap)都是java用來在Ram中存放數據的地方,屬于計算機的內存區域,與C++不同,java自動管理棧和堆,java程序員不能直接地設置棧或堆,相關的java堆棧的知識在前面的文章中都有學習過,今天我們來看看堆棧兩種實現方式,下面來介紹一下兩種java堆棧實現方式。


Java堆棧兩種實現方式分別是基于向量和基于列表的:


堆棧兩種實現方式之一:基于向量的堆棧


可以先來考慮一個傳統的基于堆棧的比擬:快餐店中盤子的存放。用餐開始的時候,獲得從堆棧中取出的盤子。刪除一個盤子的過程就是從堆棧中彈出一個盤子的過程。當盤子歸還后,它們被壓回到堆棧中。現在,假設盛放盤子的容器被標上刻度,可能是用來計算堆棧中盤子的數量。觀察一下,這看起來像一個斜向一邊的向量(如圖)

image.png


采用這個比擬,基于向量的堆棧實現可以通過將堆棧的“頂”與向量的“尾”對齊來完成,可以參見上圖。我們提供了兩個構造函數,其中一個提供向量的初始容量:

image.png


下面這個圖說明一個包含n個元素的基于向量的堆棧,棧頂是由底層向量的長度隱含說明的,箭頭表明增長方向。

image.png


為了向堆棧中添加元素,只需要簡單地使用Vector類的add方法。當需要從堆棧中刪除一個元素的時候,將最后一個元素刪除,并返回它的值。

image.png

image.png


add方法將元素添加到向量的尾部,如果必要的話對向量大小進行擴展。注意,如果向量具有n個元素,這個元素被加入到第n個位置,并將元素的數量增加到n+l。刪除一個元素的過程與此相反:它刪除并返回最后一個元素(我們在這里使用了對稱的原理。我們將基于這個概念設計幾對增加和刪除方法)。除了不修改堆棧之外,get方法與remove類似。通過查詢底層向量的大小信息,堆棧的大小很容易確定。當然,當向量為空的時候,它所支持的堆棧也是空的。

image.png


堆棧兩種實現方式之二:基于列表的堆棧

只有棧頂一端可以被修改。因此,使用單鏈表尋求一個堆棧的高效實現是明智的選擇。因為單鏈表處理列表頭的效率比處理列表尾的效率要高,我們將棧頂與單鏈表的頭對齊(見下圖)。

image.png


add方法僅僅執行addFirst,remove 操作僅僅執行removeFirst。因為已經實現了列表的remove操作,使之返回被刪除的值,所以這個值可以通過堆棧的remove方法被傳遞。

image.png

image.png


其余的方法就是來自于單鏈表的類似方法的包裝器。由于堆棧操作是鏈表操作的平凡表示,它們的復雜度與鏈表中對應的操作是相同的,每一個方法的運行時間都是常量時間。


應該注意,任何實現List接口的結構都足以實現堆棧。然而,已經見過的各種列表之間的區別集中體現在提供對列表尾的快速訪問上。由于不需要訪問堆棧的棧底,列表的其他實現不會有優越性,因此使用單鏈表實現。


總之基于向量和列表就是java堆棧兩種實現方式,希望大家可以好好學習上面對堆棧兩種實現方式的內容,相信有了以上實際例子的列舉,會對大家理解學習這兩種堆棧實現方式有所幫助。另外可以在java教程中更深入的學習堆棧的實現方式。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品揄拍100视频 | 色激情综合网 | 亚洲高清免费在线观看 | 亚洲欧美在线视频 | 一级做a爱片特黄在线观看免费看 | 在线播放免费一级毛片欧美 | 久久草在线免费 | 国产精品人伦久久 | 一本到视频在线观看 | 精品国产综合区久久久久久 | 免费一级毛片不卡在线播放 | 精品国产日韩久久亚洲 | 久久精品国产69国产精品亚洲 | 久久综合九色综合亚洲小说 | 四虎影院在线免费观看 | 亚洲免费在线观看视频 | 久久青草视频 | 四虎影永久地址www 四虎影永久在线高清免费 四虎影永久在线观看精品 四虎影永久在线观看网址 四虎影院.com | 欧美成人精品一区二三区在线观看 | 亚洲一片 | 国产成人精品一区二区三区 | 免费在线观看一级片 | 婷婷色综合| 国产精品久久天天影视 | 999国产高清在线精品 | 日本中文一区 | 婷婷综合社区 | 亚洲视频在线免费播放 | 日韩精品一区二区三区中文 | 毛片爱爱| 亚洲欧美另类在线视频 | 欧美韩国日本在线观看 | 国内精品视频在线观看 | 曰曰鲁夜夜免费播放视频 | 91精品视频网| 久久影院精品 | 亚洲青草| 国产一区亚洲二区三区 | 午夜欧美精品久久久久久久 | 高清视频 一区二区三区四区 | 日韩欧美国产中文字幕 |