基於陣列的棧

2022-09-14 22:21:33 字數 1633 閱讀 2888

1/*2

棧是一種遵從後進先出(lifo)原則的有序集合。新新增或待刪除的元素都儲存在棧的同

3一端,稱作棧頂,另一端就叫棧底。在棧裡,新元素都靠近棧頂,舊元素都接近棧底4*/

5//class stack 8//

}9//// 向棧新增元素:push--只新增元素到棧頂,也就是棧的末尾。push 方法可以如下這樣寫。

10//

push(element)

13//

//從棧移除元素:pop--移出的是最後新增進去的元素,同時返回被移除的元素

14//

pop()

17//

//檢視棧頂元素:peep--該方法將返回棧頂的元素--如果想知道棧裡最後新增的元素是什麼

18//

peek()

21//

// 檢查棧是否為空:isempty

22//

isempty()

25//

// 清空棧元素:clear

26//

clear()

29//

size()

32//}33

//// 清空棧元素

34//

const stack = new stack();

35//

console.log(stack.isempty()); // true

36//

// 新增元素

37//

stack.push(5);

38//

stack.push(2);

39//

console.log(stack.peek()); // 2

4041

42/*

43建立乙個基於 j**ascript 物件的 stack 類

4445

素的乙個有序集合,為了保證元素排列有序,它會占用更多的記憶體空間。

46如果我們能直接獲取元素,占用較少的記憶體空間,並且仍然保證所有元素按照我們的需要排

47列,那不是更好嗎?

48*/

4950

class stack ;54}

55push(element)

59size()

62isempty()

65pop()

69this.count--;

70 const result = this.items[this

.count];

71delete

this.items[this

.count];

72return

result;73}

74peek()

78return

this.items[this.count - 1];79}

80clear() ;

82this.count = 0;83}

84tostring()

88 let objstring = `$`;

89for(let i = 1; i < this.count; i++) ,$`

91}

92return

objstring;93}

94 }

基於陣列實現雙端棧

棧底分別在陣列的兩端,規定陣列大小為128,int型別。可以實現的操作為驗空 驗滿 分別向兩個棧新增元素 分別刪除棧頂元素 分別展示棧內所有元素。如下 include using namespace std typedef int stackelement const int stack capac...

筆記六 基於陣列的棧的實現

定義 後進先出的資料結構 實現一 基於陣列表示的線性表的派生棧的實現。原理 把線性表的插入和刪除操作限制在同一端進行,即得到棧的表現形式。操作 把陣列線性表的右端定義為棧頂。template class stack virtual bool empty const 0 virtual int siz...

C語言實現棧 基於陣列

棧是一種操作受限的資料結構,只允許從一段操作,而且先進後出 filo first in last out 這裡將棧的操作封裝在c語言的標頭檔案裡 實現棧的 如下 include define maxsize 10 typedef int datatype sequence stack 實現順序棧,使...