棧也是一種線性儲存結構,具有先進後出的特點;word中的撤銷操作,作業系統的方法呼叫都利用了棧;棧還可以用來做匹配,比如括號匹配等;基於陣列的棧入棧push使用陣列的addlast()追加;取資料時使用陣列的getlast()做出棧pop()操作;
這次模擬實現的棧是基於上篇部落格實現的動態陣列實現的:
public inte***ce stack
package com.itheima.stack;
import com.itheima.array.array; //這裡的array是自己實現的動態陣列;**在「資料結構與演算法(一)——陣列」的部落格裡
public class arraystackimplements stack
public arraystack()
//入棧
public void push(e e)
//出棧
public e pop()
//取棧頂元素
public e peek()
public boolean isempty()
public int getsize()
@override
public string tostring() else' && stack.pop()!='
}return stack.isempty();
}}
資料結構(二)棧結構
template t stack pop void temp stacklist top top return temp 從棧頂壓入出乙個元素 templatet t stack push const t item top stacklist top item 讀棧頂元素 template t st...
資料結構 二 棧
1.簡介 1.1 棧stack 1 棧是一種線性結構 2 相比陣列,棧對應的操作是陣列操作的子集。3 棧的本質就是乙個陣列,我們把資料排開來放,但是規定 新增元素的時候只能從一端新增元素,也只能從一端取出元素。這一段通常稱為 棧頂 1.2 新增資料的規則 1 相當於在在乙個桶中新增資料。這個操作叫入...
資料結構(二) 棧
棧 stack 僅僅可以表尾插入和刪除操作。即我們可以認為,棧是先進後出的。棧就是一種特殊的線性表,即它存在前驅後繼關係。它特殊點在於,它限制了整個線性表的插入和刪除位置,只能在棧頂進行。函式名功能 initstack s 建立乙個空的棧s destroystack s 銷毀乙個棧s clearst...