JAVA實現動態棧

2021-08-19 04:42:30 字數 1166 閱讀 2044

在資料結構中,棧是一種極其實用的結構

所以,有必要將其掌握,棧的特點是「先入後出」,只能從一端進,一端出。

package stack;//包名

inte***ce stack

class factory

public static stack getlinkinstance()

}class stackimpl implements stack

}@override

public void stackpush(object obj) else

tmp.next = newnode;

}this.size++;// 記得擴充元素數量

}@override

public void stackpop()

this.last = tmp;// 重設棧頂

tmp.next = null;

this.size--;

}@override

public int stacksize()

@override

public object stacktop()

@override

public void printlink()

}}public class test

更新

修正public void stackpop()

this.last = tmp;// 重設棧頂

tmp.next = null;

this.size--;

}這裡忽略了棧中只有乙個元素的情況,所以新增棧中只有乙個元素時的判斷

@override

public void stackpop()

while (null != tmp.next.next)

this.last = tmp;// 重設棧頂

tmp.next = null;

this.size--;

}

動態棧的實現

棧的概念及結構 棧 一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行資料插入和刪除操作的一端 稱為棧頂,另一端稱為棧底。棧中的資料元素遵守後進先出lifo last in first out 的原則。壓棧 棧的插入操作叫做進棧 壓棧 入棧,入資料在棧頂。出棧 棧的刪除操作叫做出棧。...

棧的實現java

棧的實現 棧,僅限制在棧的一端進行插入和刪除,用於插入與刪除的一端為頂部。另一端為底端。棧,定義為先進後出。可以看到 插入以a1,a2,a3順序進行,而刪除以an an 1順序進行 同樣棧的實現也分為陣列實現以及鏈式實現兩種。首先來介紹一下順序實現 優點 順序實現的出棧和入棧的執行速度會更加的快。缺...

Java 棧的實現

public class stack 構造方法 param initsize 棧的初始大小 public stack int initsize stack new object initsize index 1 出棧操作 return 棧頂物件 public synchronized e pop r...