亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java基于鏈表實(shí)現(xiàn)棧的方法詳解

瀏覽:84日期:2022-09-04 13:14:12

本文實(shí)例講述了Java基于鏈表實(shí)現(xiàn)棧的方法。分享給大家供大家參考,具體如下:

在上幾小節(jié)中我們實(shí)現(xiàn)了基本的鏈表結(jié)構(gòu),并在上一節(jié)的底部給出了有關(guān)鏈表的源碼,此處在貼一次吧,猛戳

在開(kāi)始棧的實(shí)現(xiàn)之前,我們?cè)賮?lái)看看關(guān)于鏈表的只在頭部進(jìn)行的增加、刪除、查找操作,時(shí)間復(fù)雜度均為O(1),基于鏈表的這幾個(gè)優(yōu)勢(shì),我們?cè)诖嘶A(chǔ)上實(shí)現(xiàn)棧。

Java基于鏈表實(shí)現(xiàn)棧的方法詳解

前言,在寫(xiě)本小節(jié)之前,我們已經(jīng)實(shí)現(xiàn)了一個(gè)基于靜態(tài)數(shù)組的棧,轉(zhuǎn)到查看。此處我們實(shí)現(xiàn)基于鏈表的棧。

1.鏈表類拷貝到Stack 包下:

在實(shí)現(xiàn)基于靜態(tài)數(shù)組的棧的時(shí)候,我們已經(jīng)新建了一個(gè)package,此時(shí)我們將已經(jīng)實(shí)現(xiàn)的鏈表類拷貝到該package下,目錄結(jié)構(gòu)為:

Java基于鏈表實(shí)現(xiàn)棧的方法詳解

2.實(shí)現(xiàn)棧

新建一個(gè)LinkedListStack類,實(shí)現(xiàn)Stack接口,相關(guān)代碼如下:

Stack接口:

package Stack;public interface Stack<E> { //棧中元素個(gè)數(shù) int getSize(); //棧中元素個(gè)數(shù)是否為空 boolean isEmpty(); //進(jìn)棧 void push(E e); //出棧 E pop(); //查看棧頂元素 E peek();}

個(gè)LinkedListStack類:

package Stack;public class LinkedListStack<E> implements Stack<E> { private LinkedList<E> list; public LinkedListStack() { list = new LinkedList<E>(); } //棧中元素個(gè)數(shù) @Override public int getSize() { return list.getSize(); } //棧中是否為空 @Override public boolean isEmpty() { return list.isEmpty(); } //在棧中添加元素 @Override public void push(E e) { list.addFirst(e); } //從棧中刪除第一個(gè)元素 @Override public E pop() { return list.removeFirst(); } //查看棧中第一個(gè)元素 @Override public E peek() { return list.getFirst(); } //主要是便于輸出給對(duì)象信息 @Override public String toString() { StringBuilder res = new StringBuilder(); res.append('Stack: top '); res.append(list); return res.toString(); }}

3.添加測(cè)試代碼

為了測(cè)試的簡(jiǎn)單,我們?cè)谝呀?jīng)實(shí)現(xiàn)了Stack接口的LinkedListStack類中建立以main()方法,main中代碼如下:

//測(cè)試 public static void main(String[] args) { LinkedListStack<Integer> stack = new LinkedListStack<Integer>(); for (int i = 0; i < 5; i++) { stack.push(i); System.out.println(stack); } System.out.println('出棧一個(gè)元素:'); stack.pop(); System.out.println(stack); }

結(jié)果為:

Java基于鏈表實(shí)現(xiàn)棧的方法詳解

到此我們實(shí)現(xiàn)了底層是鏈表的棧。

關(guān)于本小節(jié),若您覺(jué)得還行、還過(guò)得去,記得給個(gè)推薦哦~,謝謝!!

本節(jié)源碼 https://github.com/FelixBin/dataStructure/blob/master/src/Stack/LinkedListStack.java

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 搡的我好爽视频在线观看 | 人人爱国产 | 国产网站麻豆精品视频 | 女女同性一区二区三区四区 | 久爱午夜精品免费视频 | 91亚洲精品一区二区在线观看 | 男女污污网站 | 国产簧片在线观看 | 慈禧级淫片a级中文在线 | 亚洲精品线在线观看 | 免费国产成人高清在线观看不卡 | 131美女爱做免费高清视频 | www.一级毛片 | 成年人的黄色 | 久久婷五月综合 | 永久免费看www色视频 | 黄色伊人网 | 天天更新天天久久久更新影院 | 欧美一级毛片欧美一级成人毛片 | 日韩一区二区三区四区 | 国产一级毛片国语版 | 鲁大师在线观看免费播放 | 欧洲亚洲欧美国产日本高清 | 久久91综合国产91久久精品 | 精品三级国产一区二区三区四区 | 久久精品国产99国产精偷 | 中文字幕卡二和卡三的视频 | 手机看片日韩日韩韩 | 欧美一级特黄特黄毛片 | 国产一区二区三区四区在线污 | 黑人一区二区三区 | 国产成人精品一区二区三在线观看 | 中国大陆一级毛片 免费 | 国产欧美一级片 | 国产亚洲一区二区精品张柏芝 | 亚州黄色网址 | 国产综合色精品一区二区三区 | sese欧美| 亚洲日本人成中文字幕 | 亚洲欧美一级久久精品 | 亚洲精品日韩一区二区 |