站長資訊網
最全最豐富的資訊網站

Java理論基礎–棧(總結分享)

本篇文章給大家帶來了java的相關知識,其中主要介紹了關于棧的相關問題,包括了棧的基本操作、棧的方法和屬性、棧的兩種實現方式等等,希望對大家有幫助。

Java理論基礎--棧(總結分享)

推薦學習:《java學習教程》

1.棧的概念

棧(stack)又名堆棧,作為一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。
它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。棧具有先進后出的特性。
Java理論基礎--棧(總結分享)

2.棧的基本操作

建棧:在使用棧之前,先建一個空棧
進棧,壓棧:往棧里面添加新元素
出棧:刪除棧頂元素
讀棧:查詢當前棧頂的元素
獲取棧的大小,清空棧。。。

3.棧的方法和屬性

Java理論基礎--棧(總結分享)
Java理論基礎--棧(總結分享)

Push為入棧
Pop為出棧

4.棧的兩種實現方式

① 數組(順序表)

數組必須事先定義固定的長度(元素個數)

Java理論基礎--棧(總結分享)

② 鏈表

鏈表可以看成是一個一個小房間組成的,每個房間都靠指針來指向下個房間,它是靠指針來關聯指向的鏈表是物理存儲單元上非連續的、非順序的存儲結構,數據元素的邏輯順序是通過鏈表的指針地址實現,每個元素包含兩個結點,一個是存儲元素的數據域 (內存空間),另一個是指向下一個結點地址的指針域。根據指針的指向,鏈表能形成不同的結構,例如單鏈表,雙向鏈表,循環鏈表等
Java理論基礎--棧(總結分享)

5.數組與鏈表的區別

數組
優點:

1、按照索引查詢元素速度快
2、按照索引遍歷數組方便

缺點:

1,事先定義固定的長度(元素個數)
2,不能適應數據動態地增減的情況。
當數據增加時,可能超出原先定義的元素個數,造成數組越界;
當數據減少時,造成內存浪費.

鏈表
優點:

1,不需要初始化容量,可以任意加減元素;
2,添加或者刪除元素時只需要改變前后兩個元素結點的指針域指向地址即可,所以添加,刪除很快

缺點:

1, 因為含有大量的指針域,占用空間較大; 查找元素需要遍歷鏈表來查找,非常耗時。

對于想要快速訪問數據,不經常有插入和刪除元素的時候,選擇數組 數據量較小,需要頻繁增加,刪除操作的場景
而對訪問元素時的效率沒有很高要求的話,選擇鏈表

6.棧的作用

6.1.保存局部變量:

函數里面也有可能要使用到局部變量,而不能總是用全局變量。則局部變量存儲到哪里合適,即不能讓函數嵌套的時候有沖突,又要注重效率。

6.2參數傳遞

傳遞參數的目的,是為了代碼可以重用,讓一種方法可以應用到

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
午夜精品射精入后重之免费观看 | 亚洲综合无码精品一区二区三区| 日韩精品一区二区三区老鸭窝| 精品精品国产自在97香蕉| 日产精品一二三四区国产| 久久国产精品免费专区| 亚洲精品无码久久一线| 久草视频精品在线| 2022国内精品免费福利视频| 精品日韩亚洲AV无码一区二区三区 | a级国产精品片在线观看| 九九久久精品国产免费看小说| 日韩午夜在线观看| 国产精品久久二区二区| 青春草国产成人精品久久| 在线精品自偷自拍无码中文| 精品乱码久久久久久久| 91精品国产综合久久四虎久久无码一级| 老司机午夜精品视频资源| 亚洲av无码国产精品色午夜字幕 | 91精品啪在线观看国产91九色| 无码精品A∨在线观看中文| 久久精品视频一区二区三区| 精品国内片67194| 精品国产亚洲一区二区三区| 久久国产精品一区二区| 日本精品久久久久中文字幕8 | 精品国产亚洲一区二区三区在线观看 | 亚洲国产美女精品久久久 | 中文字幕一区二区三区日韩精品| 国产成人久久精品| 八戒久久精品一区二区三区| 国产在线精品美女观看| 亚洲日韩在线第一页| 凹凸国产熟女精品视频| 亚洲精品国产日韩无码AV永久免费网| 日韩精品成人亚洲专区| 日韩免费观看一区| 日韩一级免费视频| 久青草中文字幕精品视频| selao久久国产精品|