引入外部檔案和初始條件
#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 ...