自己實現乙個棧 Java

2021-09-12 19:16:04 字數 853 閱讀 7796

思路:

1、使用鍊錶實現乙個棧,便於擴容(不用考慮陣列擴容場景),維護根節點和最**棧的節點

2、節點中維護pre指標,便於pop()時快速找到上乙個節點

**:

package com.datastructure.stackqueue;

/** * 實現乙個棧,自定義棧,用鍊錶實現,方便擴容

*/public class definestack

@override

public string tostring()

return this.pre.tostring() + " <- " + this.value;

}}

/*** 有前驅指標的節點

* * root <- tail

* root.pre = null

* tail.pre = root

* */

public t push(t t)

nodenode = new node(t);

node.pre = tail;

tail = node;

return t; }

public t pop()

t ret = null;

if (root == tail)

ret = tail.value;

tail = tail.pre;

return ret; }

@override

public string tostring()

public static void main(string args)

}

參考:

棧和佇列的操作:

java 實現乙個棧

package zhangtingting public class stacktest 也可以自己設定長度,即容量 public stacktest int len 返回元素個數 public int size 返回陣列長度,即容量 public int capacity 實現動態的陣列 publ...

自己實現乙個Java框架 一 思路

需要實現兩個功能mvc和ioc容器 下面是springmvc的 controller public class indexcontroller 對於ioc容器則通過 autowire註解 將例項從容器中依賴注入 我們並沒有直接new出乙個controller物件,及其他bean元件 所以contro...

Java實現乙個簡單的棧

棧我們可以理解為乙個箱子,先放進去的東西在最下面,所以是乙個先進後出的原則。下面我們看看乙個簡單的demo。package com.tu.test.stack public class node else else node node current current是我們要出棧的節點 current...