日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java链式栈_Java栈之链式栈存储结构实现

發布時間:2025/3/19 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java链式栈_Java栈之链式栈存储结构实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、鏈棧

采用單鏈表來保存棧中所有元素,這種鏈式結構的棧稱為鏈棧。

二、棧的鏈式存儲結構實現

package com.ietree.basic.datastructure.stack;

/**

* 鏈棧

*

* Created by ietree

* 2017/4/29

*/

public class LinkStack {

// 定義一個內部類Node,Node實例代表鏈棧的節點

private class Node {

// 保存節點的數據

private T data;

// 指向下個節點的引用

private Node next;

// 無參構造器

public Node() {

}

// 初始化全部屬性的構造器

public Node(T data, Node next) {

this.data = data;

this.next = next;

}

}

// 保存該鏈棧的棧頂元素

private Node top;

// 保存該鏈棧中已包含的節點數

private int size;

// 創建空鏈棧

public LinkStack() {

// 空鏈棧,top的值為null

top = null;

}

// 以指定數據元素來創建鏈棧,該鏈棧只有一個元素

public LinkStack(T element) {

top = new Node(element, null);

size++;

}

// 返回鏈棧的長度

public int length() {

return size;

}

// 進棧

public void push(T element) {

// 讓top指向新創建的元素,新元素的next引用指向原來的棧頂元素

top = new Node(element, top);

size++;

}

// 出棧

public T pop() {

Node oldTop = top;

// 讓top引用指向原棧頂元素的下一個元素

top = top.next;

// 釋放原棧頂元素的next引用

oldTop.next = null;

size--;

return oldTop.data;

}

// 訪問棧頂元素,但不刪除棧頂元素

public T peek(){

return top.data;

}

// 判斷鏈棧是否為空棧

public boolean empty() {

return size == 0;

}

// 請空鏈棧

public void clear() {

top = null;

size = 0;

}

public String toString() {

// 鏈棧為空棧時

if (empty()) {

return "[]";

} else {

StringBuilder sb = new StringBuilder("[");

for (Node current = top; current != null; current = current.next) {

sb.append(current.data.toString() + ", ");

}

int len = sb.length();

return sb.delete(len - 2, len).append("]").toString();

}

}

}

測試類:

package com.ietree.basic.datastructure.stack;

/**

* Created by ietree

* 2017/4/29

*/

public class LinkStackTest {

public static void main(String[] args) {

LinkStack stack = new LinkStack();

stack.push("aaaa");

stack.push("bbbb");

stack.push("cccc");

stack.push("dddd");

System.out.println(stack);

System.out.println("訪問棧頂元素:" + stack.peek());

System.out.println("第一次彈出棧頂元素:" + stack.pop());

System.out.println("第二次彈出棧頂元素:" + stack.pop());

System.out.println("兩次pop之后的棧:" + stack);

}

}

程序輸出:

[dddd, cccc, bbbb, aaaa]

訪問棧頂元素:dddd

第一次彈出棧頂元素:dddd

第二次彈出棧頂元素:cccc

兩次pop之后的棧:[bbbb, aaaa]

總結

以上是生活随笔為你收集整理的java链式栈_Java栈之链式栈存储结构实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亲吻刺激视频 | 国产精品丝袜黑色高跟鞋的设计特点 | 五月婷激情 | 十八岁世界在线观看高清免费韩剧 | 美女露胸软件 | 午夜视频福利在线 | 黄色1级片 | 少妇熟女一区 | 欧美体内谢she精2性欧美 | 麻豆视频在线免费观看 | 91精品久久久久久久久 | 美女撒尿无遮挡网站 | 青青草成人网 | 三级免费毛片 | 男女做那个视频 | а√天堂8资源在线官网 | 亚洲国产精品视频一区二区 | 日本最黄网站 | 无码无套少妇毛多18pxxxx | 美女张开双腿让男人捅 | jlzzjlzz亚洲女人18 | 韩国毛片网站 | 国产一区日韩 | 国产亚洲一区二区三区在线观看 | 男人插入女人下面视频 | 国产夫妻自拍av | 欧美日韩亚洲二区 | 午夜精品久久久久久久四虎美女版 | 欧美成人aaa片一区国产精品 | 亚洲欧美日韩久久精品 | 日韩av女优在线观看 | 在线免费看毛片 | 熟女熟妇伦久久影院毛片一区二区 | 99精品免费视频 | 日韩毛片免费观看 | 男女啊啊啊视频 | av黄色在线免费观看 | 久久在线视频 | 精品国产午夜福利 | 久久精品黄aa片一区二区三区 | 美女上床网站 | xxxxxx日本 | 99成人免费视频 | 国产视频一区在线观看 | 少妇太爽了在线观看 | 中国无码人妻丰满熟妇啪啪软件 | 无码一区二区三区免费视频 | 亚洲视频在线免费 | 日韩精品在线网站 | 国产精品入口a级 | 96av视频| 精品一区二区三区四区 | 亚洲一区二区三区加勒比 | 亚洲精品乱码久久久久久蜜桃91 | 日本一区二区三区四区视频 | 国产乱码一区二区 | 一级在线播放 | 99色热| 芒果视频污污 | 成人亚洲 | 91麻豆国产在线 | 黄网站在线观看视频 | 在线免费观看一区二区三区 | 黄色网免费 | 欧美成人午夜免费视在线看片 | 国产99久久久| 91高清免费 | 蜜色视频| 国产黄色片在线 | 欧美日韩在线视频一区 | 日韩毛片基地 | 亚洲av无码一区二区三区人妖 | 青青五月天 | 日本精品久久 | 色资源在线观看 | 欧美日韩不卡一区 | 欧美xxxxx自由摘花 | 男人操女人动态图 | 日韩精品在线网站 | www黄色com| 99视频免费在线观看 | av在线毛片 | 9色91| 色视频导航 | 精品人妻一区二区三区换脸明星 | 国产学生美女无遮拦高潮视频 | 国产精品久久久久久av | 午夜无遮挡 | 丝袜制服中文字幕 | 四虎成人精品永久免费av九九 | 在线看成人片 | 超碰在线小说 | 爱的色放3| 99久久久久久久久久 | 国产婷婷色 | 天堂影音 | 91免费精品 | 丰满人妻一区二区三区免费 | 特级少妇 |