二,鏈棧
public
inte***ce
istack
public
class
seqstack
implements
istack
// 將棧置空
public
void
clear()
// 判斷棧是否為空
public
boolean
isempty()
// 返回棧中元素的個數
public
intlength()
// 返回棧頂元素
public object peek()
// 入棧 後進
public
void
push
(object x)
stackelem[top]
= x;
top ++;}
@override
public object pop()
return null;
}// 輸出棧中所有元素
public
void
display()
system.out.
println()
;}}
public class
testseqstack}/
**棧頂元素ghi
出棧後:
def abc
*/
public
class
node
// 只有節點值的建構函式
public
node
(object data)
// 帶有節點值和後繼節點的建構函式
public
node
(object data, node next)
}
// 實現棧介面
public
class
linearstack
implements
istack
@override
public
boolean
isempty()
@override
public
intlength()
return length;
}@override
public object peek()
@override
public
void
push
(object x)
@override
public object pop()
node p = top;
top = top.next;
// 棧頂的第二個元素頂替
return p.data;
}@override
public
void
display()
/*while (top != null) */
}}
public
class
testlinearstack
}/**
棧頂元素:7
出棧元素:7
5 3 1
*/
棧,順序棧,鏈棧
棧作為一種限定性線性表,是將表的插入刪除限制為僅在表的一端進行,通常將表中允許插入刪除的一端叫做棧頂 top 因此棧頂的當前位置是動態變化的。棧的另一端叫做棧底 bottom 當棧中沒有元素時稱為空棧。插入操作稱為進棧或入棧,刪除操作稱為出棧或退棧。棧是先進後出的線性表,簡稱為lifo表。棧主要有兩...
棧 順序棧 鏈棧
棧 順序棧 鏈棧 分別用順序表和煉表實現棧,完成入棧 出棧 窺探棧頂元素等操作 commom.h ifndef common h define commom h include include include include include define elemtype int void swap...
棧結構 順序棧 鏈棧
定義 棧是一種與線性表相似的線性結構。不同之處是當需要對節點做增刪操作時,只能操作棧頂的節點,因此具有先進後出 或者後進先出 的特點。按儲存結構的不同,可分為順序棧和鏈棧。棧結構的幾個屬性 adt stack elemtype為型別識別符號 資料關係 r 資料操作 1 stackseq initst...