c语言版数据结构 空栈的构造

Python012

c语言版数据结构 空栈的构造,第1张

栈的本意是一个数组,里面存取数据的方式是先进后出。因此,你需要一个cusor来指定当前的栈顶(可能你使用top实现的),你可能还需要当前存放了多少数据进栈了,栈是否空、满,因此你还需要一个int变量计算栈元素个数。没push+1,没pop -1。你完全不需要成员stacksize,还有你需要一个栈元素个数的计数器。另外你不需要将形参由引用该为指针,反而降低效率!

<1>如果顺序栈的定义如下

typedef

struct

{datatype

data[stacksize]

int

top

}SeqStack

---则置空栈的操作如下

void

InitStack(seqstack

*s)

{s->top=-1

}

<2>如果链栈的定义如下

typedef

struct

node

{datatype

data

struct

node

*next

}LinkStack

---则置空栈的操作如下

void

InitStack(linkstack

*s)

{s->top=null

}