棧的基本操作

2021-08-20 22:28:43 字數 1391 閱讀 2228

首先定義乙個棧的結構體

#define max_size 100 

typedef int datatype;

typedef struct stack

stack;

// 棧的初始化 

void stackinit(stack* ps);

//列印鍊錶

void stackprint(stack*ps);

// 入棧 

void stackpush(stack* ps, datatype data);

// 出棧 

void stackpop(stack* ps);

// 獲取棧頂元素 

datatype stacktop(stack* ps);

// 獲取棧中元素個數 

int stacksize(stack* ps);

// 檢測棧是否為空 

int stackempty(stack* ps);

//清空棧

stack clearstack(stack*ps);

//銷毀棧

stack destroystack(stack *s);

1.棧的初始化

void stackinit(stack* ps)

ps->top = 0;

return;

}

2.棧的插入

void stackpush(stack* ps, datatype data)

if (max_size == ps->top)

else

return;

}

3.出棧

void stackpop(stack* ps)

4.獲取棧頂元素

datatype stacktop(stack* ps)

5.獲取棧中元素個數

int stacksize(stack* ps)

6.檢測棧是否為空

int stackempty(stack* ps)

7.列印棧

void stackprint(stack*s)

printf("\n");

return;

}

8.清空棧

stack clearstack(stack*ps)

9.銷毀棧

stack destroystack(stack *ps)

棧 的基本操作。

include include typedef struct node node,pnode typedef struct stack stack,pstack void initialize pstack mystack 棧的初始化。int push stack pstack mystack,in...

棧的基本操作

描述 棧是一種重要的資料結構,它具有push k和pop操作。push k是將數字k加入到棧中,pop則是從棧中取乙個數出來。棧是後進先出的 把棧也看成橫向的乙個通道,則push k是將k放到棧的最右邊,而pop也是從棧的最右邊取出乙個數。假設棧當前從左至右含有1和2兩個數,則執行push 5和po...

棧的基本操作

下面先實現站的基本功能,最後通過乙個test來測試下方法是否實現 建個.c檔案 typedef struct seqstack 初始化 seqstack seqstackinit return null 判斷棧是否為空 int seqstackisempty seqstack s void seqs...