順序棧的基本操作

2022-02-24 15:12:58 字數 1139 閱讀 2129

引入外部檔案和初始條件

#include#include#define maxsize 100
順序棧的儲存結構:須有乙個一維陣列去存放棧中的基本元素,還要棧頂指標,用來存放棧頂元素的下標

typedef struct sqstacksqstack,*stack_type;
結構如下

接著開始棧的初始化

stack_type init_sqstack()

return s;

}

判斷棧是否為空

//判斷棧是否為空,空表示0,非空表示1

int empty_stack(stack_type s)

往棧中插入元素

//往棧頂插入元素x,返回1表示插入成功,返回0表示插入失敗

int push_sqstack(stack_type s)

else

printf("請輸入需要入棧的個數:");

if(s->top<0)

}else

printf("push the elements success!\n");

return 1;

}

出棧操作:

//刪除棧頂元素並儲存在向量x中,返回1表示出棧成功

int pop_stack(stack_type s,int *tmp)

else

}

獲取棧頂元素

//取得棧頂元素

int gettop_sqstack(stack_type s,int *data)

else

}

棧中元素的列印

void print_stack(stack_type s)

主程式如下

void main()

printf("請選擇相應的選項\n");

scanf("%d",&select);

}}

程式截圖如下:

棧 順序棧的基本操作

棧也是一種線性表,但是棧是一種操作受限的線性表,因此也可稱它為限定性的資料機構。棧是限定僅在表尾進行插入或刪除操作的線性表。棧的表尾為它的棧頂,表頭為它的棧底。先進入棧的後出棧,後進入棧的先出棧。所以,棧被稱為後進先出的線性表。順序棧基本操作的實現 include include define in...

棧 順序棧的基本操作

棧 作為一種限定性線性表,是將線性表的插入和刪除操作限制為僅在表的一端進行,通常將表中允許插入 刪除操作的一端稱為棧頂。下面給出順序棧的 演示。順序棧 採用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底的資料元素,同時由於棧操作的特殊性,還必須附設乙個位置指標top來動態的指示 棧...

順序棧 基本操作

include include define maxsize 10 typedef struct sqstack 均通過傳遞指標的方式傳參 void create void insert sqstack s void delete sqstack s void viewdata sqstack s ...