棧的基本操作

2021-08-18 07:57:32 字數 1635 閱讀 7418

本次程式是以實現棧的基本操作為目的(主要包括棧的初始化、入棧、出棧、取棧頂元素和銷毀棧):

程式**:#include

#include

#define seqstacktype char

#define seqmax 1000

typedef structseqstack;

//初始化

void seqstackinit(seqstack* seq)

//銷毀

void seqstackdestroy(seqstack* seq)

//入棧

void seqstackpush(seqstack* seq,seqstacktype value)

seq->data[seq->size] = value;

++seq->size;

}//出棧

void seqstackpop(seqstack* seq,seqstacktype* value)

if(seq->size == 0)

*value = seq->data[seq->size-1];

--seq->size;

}//取棧頂元素

int getstacktop(seqstack* seq,seqstacktype* value)

if(seq->size == 0)

*value = seq->data[seq->size-1];

return 1;

}void printstack(seqstack* seq,char * str)

printf("\n");

}檢測**:void teststack()

int main()

檢測結果:

[chaiyandong@miwifi-r1cl-srv shujujiegou]$ ./stack

*******初始化************

except: 1   actual: 1

except: d   actual: d

*******入棧四個元素************

a b c d 

*******出棧乙個元素************

a b c 

value expect: d  actual: d

except: 1   actual: 1

except: d   actual: c

*******出棧倆個元素************

a b 

value expect: c  actual: c

except: 1   actual: 1

except: d   actual: b

*******出棧三個元素************

a value expect: b  actual: b

except: 1   actual: 1

except: d   actual: a

*******出棧四個元素************

value expect: a  actual: a

except: 0   actual: 0

*******入棧四個元素************

c c c c 

*******銷毀************

棧 的基本操作。

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...