如何用鍊錶實現棧?

2021-10-06 09:59:06 字數 1232 閱讀 5595

棧(stack)又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

建立在這篇文章的基礎上鍊表的實現

class

linkliststack

extends

linklist

public

function

pop(

)}

$stack

=new

linkliststack()

;$stack

->

push

(111);

$stack

->

push

(2222);

print_r

($stack);

echo

$stack

->

pop().

"\n"

;print_r

($stack

);exit;

linkliststack object

([head]

=> node object

([val]

=>

[next]

=> node object

([val]

=>

2222

[next]

=> node object

([val]

=>

111[next]

=>))

)[size]

=>

2[map]

=>

array()

)2222

linkliststack object

([head]

=> node object

([val]

=>

[next]

=> node object

([val]

=>

111[next]

=>))

[size]

=>

1[map]

=>

array()

)

如何用C 實現棧

簡單定義 棧就是一種只允許在表尾進行插入和刪除操作的線性表 舉乙個生活中的例子 我在乙個儲物箱中,堆了一堆衣服,我的一件球衣在最下面,而我要拿這件衣服,就意味著我必須將上面的衣服全部拿出來才可以,但是由於箱子只有乙個口,我也只能從上面拿東西,心裡還默默想著,當初就不該將球衣早早的放進去,導致結果就是...

如何用棧實現佇列功能以及如何用佇列實現棧功能

棧實現佇列的基本思路 構造兩個棧,其中乙個用來存放存進來的資料,另外乙個用來倒置其中的資料實現輸出。public static class twostacksqueue public void add int pushint public intpoll else if stackpop.empty...

鍊錶實現棧

include include typedef int datatype 自定義資料型別,假定為整型 struct node 單鏈表結點型別 typedef struct node pnode 結點指標型別 typedef struct node 單鏈表結點結構 node typedef struc...