棧的實現 陣列

2022-09-04 08:39:09 字數 876 閱讀 1472

前一篇寫了鍊錶棧,這一篇寫陣列棧

//首先,還是定義結構體

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