前一篇寫了鍊錶棧,這一篇寫陣列棧
//首先,還是定義結構體struct
node_a;
typedef
struct node_a *stack_a;
typedef
intelementtype_a;
struct
node_a
;
//下面是具體實現#define eofempty (-1)//
表示棧為空
#define mixstacksize (5)//
棧的最小容量
intisempty_a(stack_a s )
intisfull_a( stack_a s )
void error(char *str)
/*建立乙個容量為max的棧
*/stack_a createstack_a(
intmax )
s->topofstack = eofempty;//
設初值,棧頂值為-1,容量等於max,再申請一塊記憶體作為陣列棧,並將指標賦給arraystack。
s->capability =max;
s->arraystack = (elementtype_a*)malloc(sizeof(elementtype_a)*max);
if(s->arraystack ==null)
returns;}
void
push_a( elementtype_a x,stack_a s )
elementtype_a top_a( stack_a s )
}void
pop_a( stack_a s )
棧的陣列實現
棧是乙個先入後出的有序資料結構 filo 棧的操作操作只能是在棧頂 top 或者棧底 bottom 進行 宣告 下面的 只是乙個最基礎的實現,沒有經過嚴格的測試。使用陣列模擬棧 public class myarraystack 判斷棧是否已經滿了 public boolean isfull pub...
棧 陣列實現
棧的抽象型別描述 adt package org.zp.datastruct public inte ce stack棧的陣列實現 package org.zp.datastruct 陣列實現棧 public class arraystack implements stack public arra...
陣列實現棧
先進後出。push入棧,pop出棧,peek檢視棧頂元素。陣列實現棧有棧空,棧滿。陣列實現棧package com.st classname stack author gg girl date 2020 9 4 description 棧類。有棧空,棧滿。操作 入棧push,出棧pop,peek檢視...