c語言資料結構 棧的線性儲存(原始碼奉上)

2021-10-06 00:09:12 字數 2402 閱讀 5993

奉上源**

#ifndef status_h

#define status_h

#define yes 1

#define no 0

typedef

int status;

typedef

int selemtype;

#endif

#ifndef  listh

#define listh

#include

"status.h"

typedef

struct node

lnode;

typedef

struct

sqstack;

/*(1)初始化棧 initstack(s)

(2)入棧 push(s,item)

(3)出棧 pop(s,item)

*/void

initstack

(sqstack *p)

; status push

(sqstack *p,selemtype e)

;int

count

(sqstack *p)

; status pop

(sqstack *p,selemtype *e)

;int

gettopvalue

(sqstack *p)

;#endif

#include

"stdio.h"

#include

"stack.h"

//初始化棧

void

initstack

(sqstack *p)

//進棧 (頭插法)

status push

(sqstack *p,selemtype e)

//棧內元素的個數

intcount

(sqstack *p)

//出棧

status pop

(sqstack *p,selemtype *e)

//取棧頂元素

intgettopvalue

(sqstack *p)

#include

"stack.h"

#include

intmain()

g=l->top;

printf

("此時棧中的元素為:");

for(i=

0;i)printf

("\n***************===獲取棧內元素的個數***************===\n");

printf

("此時棧內元素的個數為:%d\n"

,count

(l))

;printf

("***************===出棧***************===\n");

//棧頭出棧

pop(l,

&value)

;printf

("出棧的元素為:%d\n"

,value)

;printf

("出棧後棧中的元素為:");

g=l->top;

for(

;g!=

null

;g=g->next)

printf

("%d "

,g->date)

;printf

("\n***************===取棧頂元素***************===\n");

printf

("棧頂元素為:%d"

線性資料結構 棧的順序儲存結構

堆疊最基本的特徵就是先進後出,後進先出 通常是由乙個一維陣列和乙個記錄棧頂元素位置的變數組成。typedef int position struct snode typedef struct snode stack stack createstack int maxsize bool isfull ...

資料結構之線性結構 棧 順序儲存

棧是一種受限的線性表,它規定只能夠在表的尾部進行插入和刪除,我們把允許插入和刪除元素的一端稱為棧頂,而另一段稱為棧底,沒有任何元素的元素棧稱為空棧。棧中的元素進出的規則為先入後出,即先進入棧的元素後出棧而後進入棧的元素先出棧。在對棧棧中的元素進行操作時只能夠操作棧頂的元素。棧中儲存元素的三種狀態 當...

資料結構之佇列的線性儲存結構(C語言)

如下 include include include include define maxsize 10 typedef int elemtype typedef struct queue 初始化操作,建立乙個空佇列q void initqueue queue q 若佇列q存在,則銷毀他 void ...