日韩性视频-久久久蜜桃-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栈之链式栈存储结构实现的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美精品一级片 | 亚洲黄色网页 | 欧美顶级少妇做爰 | 欧美日韩国产在线一区 | 国产主播在线播放 | 国产精品后入内射日本在线观看 | 成人av在线电影 | 男女拍拍拍 | 日本精品一区视频 | 在线h网| 风流少妇 | 亚洲精品少妇久久久久久 | 久久视频在线看 | 成年人拍拍视频 | 樱桃视频污污 | 在线岛国| 欧美成人h | 欧美色综合 | 久久精品综合网 | 老鸭窝一区二区 | 超碰在线网站 | 动漫美女露胸网站 | 国产一级免费看 | 国产美女免费观看 | 秋霞精品一区二区三区 | 91香蕉视频官网 | 99热99re6国产在线播放 | 91免费看片网站 | 久久国产欧美 | 亚洲欧美国产高清 | 狠狠干婷婷| 热久久免费 | 九九久久网 | 国产在线视频你懂的 | 久久精品九九 | 日本高清黄色电影 | 日本69式三人交 | 日韩av色图 | 黄色福利网站 | 亚洲成人动漫在线观看 | 91在线播放国产 | 污污污www精品国产网站 | 欧美成年人在线视频 | 久久无码人妻一区二区三区 | 在线一区二区视频 | 6699嫩草久久久精品影院 | 久久国产中文字幕 | 男女扒开双腿猛进入爽爽免费 | 日本特黄色片 | 黄色小说图片视频 | 日本阿v视频 | 青青草成人免费在线视频 | 欧美天天性影院 | 天天爽天天射 | 亚洲中国色老太 | 免费无毒av | 日韩制服在线 | 国产精品一二三级 | 首尔之春在线看 | 三级欧美视频 | 亚洲精品一区二区三 | 蜜桃成人在线观看 | 日韩视频一区二区三区在线播放免费观看 | 国产熟妇一区二区三区aⅴ网站 | 国产午夜精品久久久久 | 国产一区二区免费在线观看 | 兔费看少妇性l交大片免费 日韩高清不卡 | 亚洲黄色精品视频 | 亚洲欧洲日本国产 | 一边吃奶一边摸做爽视频 | 久章操| av男人天堂av | 国产欧美在线观看 | 欧美久久久久久又粗又大 | 国产色在线,com | 一级黄色小视频 | 久久久精品免费看 | 美女福利网站 | 国产一区二区在线播放视频 | 国产片淫乱18一级毛片动态图 | 成人午夜影院在线观看 | 欧美理伦片在线播放 | 中文文字幕一区二区三三 | av网在线播放 | 国产专区在线视频 | 欧美成人久久久 | 国产全是老熟女太爽了 | 日韩天堂视频 | 377人体粉嫩噜噜噜 www.av黄色 | 裸尼姑熟蜜桃 | 亚洲美女激情视频 | 久久久久久逼 | 91国偷自产一区二区三区观看 | av美国| 午夜毛片在线 | 首尔之春在线观看 | 91av视频在线免费观看 | 欧美伊人久久 | 熟女视频一区 |