顺序栈的完整代码 数据结构基础之栈的顺序存储表示与实现?
浏览量:1855
时间:2021-03-12 06:36:15
作者:admin
数据结构基础之栈的顺序存储表示与实现?
使用top指示顺序堆栈的顶部指针。如果top=-1,则堆栈为空,否则,堆栈的元素数为top。下面是顺序堆栈的结构定义ᦇdefine maxsize 20/*存储空间的初始分配*/typedef int selemtype/*selemtype。类型取决于实际情况。这里我们假设它是int type*//*sequential stack structure*/typedef struct{selemtype}Data[maxsize]int top/*用于栈顶指针*/}sqstack/*来构造空栈s*/status initstack(sqstack*s){s->top=-1//将栈顶指针设置为-1,这意味着顺序堆栈是空的。Return OK}
在空间性能比较开始时,顺序堆栈必须有一个固定的长度,因此存在存储元素数量有限和空间浪费的问题。
链堆栈中没有堆栈满问题。只有当内存中没有可用空间时,堆栈才会满。但是,每个元素都需要一个指针字段,从而导致结构开销。
当元素个数变化较大时,最好采用链式堆栈,否则应采用顺序堆栈。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。