数据结构与算法是软件工程系必修的一门课程,正学习这门课程的你,是否有被这门课程某一章,某一节或者某个知识点折磨?
(文章干货较多,重在理解!建议大家点个赞,再收藏,以避免需要的时候找不到)
顺序栈的结构类型定义常见并要求我们掌握的有三种:
栈是一种特殊的线性表,其特殊性在于限定仅在表尾进行插入和删除操作
线性表的顺序存储结构是指用一段地址连续的存储单元一次存储线性表的数据元素(类似数组定义)。
因此,在c语言中我们可以用一维数组来实现顺序存储结构,数组的空间分配又可以分为静态和动态两种方式,由此扩展理解栈的多种结构类型定义。
①第一种:
这种结构类型的定义,可以理解为数组,top是这个数组中的索引值,当对栈进行操作时,top不断地做相应地变化。在定义这个类型时,系统是不分配空间的。
在主函数中声明的时,如果定义了关于这个结构体的变量,则系统会对这个结构体分配一个相应大小的空间,在初始化栈的时候,则不再需要动态分配,如果没有定义变量,则在初始化时依然需要对这个结构体动态空间申请!
(注:定义结