資料結構 用C語言實現順序棧的入棧,出棧,判斷棧空

2021-09-18 04:33:02 字數 744 閱讀 6049

順序棧,遵循先進後出後進先出原則。我在寫的時候,巨集定義的

firstsize 為建立乙個棧時這個棧的初始大小,這裡為100。addsize

為當棧滿時,再想入棧的話每次棧大小的增量,這裡用10來代替。

create函式為建立棧函式。push為入棧函式。empty函式用來判斷

棧是否為空,print函式用來出棧。

//以下為全部**

#include "stdio.h"

#include "malloc.h"

#define firstsize 100

#define addsize 10

typedef structsq;

void create(sq &s)

void push(sq &s,int e)

*s.top=e;

s.top++;

printf("元素[%d]已入棧!\n",e);

}

void print(sq &s)

}

int empty(sq &s)

{ if(s.top==s.base||s.top執行結果:

資料結構 順序棧 C語言實現

順序棧實現 include define size 50 static int data size 宣告陣列data,用於儲存棧中陣列 static int index 宣告變數index,用於表示棧中元素個數 初始化棧 void init 清理棧 void deinit 判棧滿 int full ...

資料結構C語言實現 入棧操作

1.棧頂是沒有元素的,棧頂是乙個空值 2.把乙個元素壓進棧時,不要給棧頂的位址賦值,而是賦值給指標 例如 你在結構體中定義了 char top 那麼你要把元素date賦值給 top,而不是top 賦值完成後,top 因為棧頂沒有值 如下 include includetypedef struct s...

C語言實現資料結構中的順序棧

棧 stack 是限制僅在表的一端進行插入和刪除運算的線性表,通常稱插入,刪除的一段為棧頂 top 另一端為棧底 botton 當表中沒有元素時稱為空棧.棧是後進先出 last in first out 的線性表 下面是c語言實現資料結構中的順序棧及基本演算法 include include 定義順...