棧是一種後進先出的資料結構
last in first out (lifo)
public
class
array
data = newdata;
}/**
* 建構函式
* @param capacity
*/public
array
(int capacity)
/** * 無參建構函式,初始化陣列容量為10
*/public
array()
/** * 獲取陣列大小
* @return
*/public
intgetsize()
/** * 獲取陣列容量
* @return
*/public
intgetcapacity()
/** * 判空
* @return
*/public
boolean
isempty()
/** * 末尾新增元素
* @param e
*/public
void
addlast
(e e)
/** * 在頭插入元素
* @param e
*/public
void
addfirst
(e e)
/** * 在某一位置新增元素
* @param index
* @param e
*/public
void
add(
int index, e e)
else
if(index <
0|| index > size)
else
data[index]
= e;
size++;}
}/**
* 獲取index索引的元素
* @param index
* @return
*/public e get
(int index)
return data[index];}
public e getlast()
public e getfirst()
/** * 設定某一位置的元素
* @param index
* @param e
*/public
void
set(
int index, e e)
data[index]
= e;
}/**
* 某乙個元素是否包含
* @param e
* @return
*/public
boolean
contains
(e e)
}return
false;}
/** * 返回某一元素的索引下標
* @param e
* @return
*/public
intfind
(e e)
}return-1
;}/** * 刪除某一元素
* @param index
* @return
*/public e remove
(int index)
e ret = data[index]
;for
(int i = index +
1; i < size; i++
) size--
;// 去掉閒散物件
data[size]
= null;
// 減少陣列容量
if(size == data.length /
4&& data.length /2!=
0)return ret;
}/**
* 刪除第乙個
* @return
*/public e removefirst()
/** * 刪除最後乙個
* @return
*/public e removelast()
/** * 查詢某一元素並刪除
* @param e
* @return
*/public
void
removeelement
(e e)
}/**
* 遍歷陣列
* @return
*/@override
public string tostring()
} res.
("]");
return res.
tostring()
;}}
定義棧的實現介面public
inte***ce
stack
棧的實現public
class
arraystack
implements
stack
public
arraystack()
@override
public
void
push
(e e)
@override
public e pop()
@override
public e peek()
@override
public
intgetsize()
@override
public
boolean
isempty()
public
intgetcapacity()
@override
public string tostring()
} res.
("] top");
return res.
tostring()
;}}
java資料結構之陣列棧
根據陣列線性表改編而來的陣列棧 關於線性表如何實現的可以參照前面線性表的實現 public class stack public void push t data public t pop public boolean isempty public int getsize public t gete...
資料結構 Java之棧的實現
1 棧 stack 是限制僅在表的一端進行插入和刪除運算的線性表。1 通常稱插入 刪除的這一端為棧頂 top 另一端稱為棧底 bottom 2 當表中沒有元素時稱為空棧。3 棧為後進先出 last in first out 的線性表,簡稱為 lifo 表。2 棧的修改是按後進先出的原則進行。每次刪除...
資料結構之陣列實現棧結構
include include int top int s 返回棧頂位置 int stack empty int s 判斷棧是否為空 int stack full int s 判斷棧是否已滿 void push int s,int x int pop int s return x int main ...