使用陣列實現棧,使用單向鍊錶實現佇列

2021-08-21 20:10:25 字數 1129 閱讀 9133

棧    源**:

使用陣列實現棧的 出棧、入棧、返回棧頂元素、取得棧的大小、及棧的複製

最重要的是定義結構體,結構體內部兩個屬性,乙個 int 型陣列,乙個 top 表示陣列內的有效資料為  top  個。

#include #include #include typedef int datetype;

#define max_size (100)

typedef struct stackstack;

void stackinit(stack *ps)

void stackpush(stack *ps, int key)

void stackpop(stack *ps)

int stacktop(stack *ps)

int stacksize(stack *ps)

void stackcopy(stack *dest, stack *src)

void print(stack *ps)

printf("\n");

}void test()

佇列:

第一步需要定義好結構體:

typedef int datatype;      用datatype 來表示  int   型別

typedef struct qnodeqnode;

//定義佇列結構體

typedef struct queuequeue;

//佇列初始化

void queueinit(queue *ps)

//佇列插入

void queueinsert(queue *ps, int key)

ps->prear->pnext = pnewnode;

ps->prear = pnewnode;

ps->size++;

}//佇列刪除

void queuepop(queue *ps)

}//佇列中的第乙個元素

int queuefront(queue *ps)

//1 表示空

//0 表示不空

int queueisimpty(queue *ps)

int queuesize(queue *ps)

void test()

單向鍊錶實現棧

首先我們要知道 棧 為何物 他是一種儲存資料的方法 有點類似子彈夾 擁有先進後出的特點 同時進棧與出棧都只能在一端進行.public inte ce mystack public class node public object getdate public void setdate object ...

Python使用list和單向鍊錶實現棧

class arrstack 使用list實現棧,第乙個元素為棧底,最後乙個元素為棧頂 def init self 初始化為空list self.items defstackin self,value 入棧 param value 入棧的值 return null defstackpop self ...

Java使用鍊錶實現棧

大話資料結構中,這一塊其實對於初學的還是挺難的,我看了小半天,最後才轉過彎來,首先看圖,圖中箭頭指明了思路,一開始我對鍊錶的頭部沒想明白,後來想通了,就是每次壓棧就相當於將元素放在鍊錶頭部,即棧頂指標元素相當於鍊錶中的首節點 因此每次插入乙個,都需要將插入前的棧頂結點賦值給新節點的next結點屬性 ...