順序棧,鏈棧

2021-10-06 06:54:20 字數 1749 閱讀 1879

二,鏈棧

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...