第十二章:栈与队列
- 数据结构的概念:
数据结构是数据的组织方式,数据的组织方式包含了存储方式和访问方式,例如:数组的各元素是一个挨一个存储的,并且每个元素的大小相同,因此数组可以提供按下标访问的方式,结构体的各成员也是一个挨一个存储的,但是每个成员的大小不同,所以只能用.运算符加成员名来访问,而不是按下标访问。
- 堆栈
数组与堆栈区别:堆栈是一组元素的集合,类似于数组,不同之处在于,数组可以按下标随机访问,这次访问a[5]下次可以访问a[1],但是堆栈的访问规则被限制为push和pop两种操作,push(入栈或压栈)向栈顶添加元素,pop(出栈或弹出)则取出当前栈顶的元素,也就是说,只能访问栈顶元素而不能访问栈中的其它元素,如果所有元素的类型相同,堆栈的存储也可以用数组来实现。
-
- 1201.c用堆栈实现倒序打印,在这个程序中,stack是堆栈的存储空间,top用作数组stack的索引,注意:top总是指向栈顶元素的下一个元素,可以把它称为指针,在实际操作过程中,只是top指针在移动,原来的栈顶元素仍然存在那里,但此后通过push和pop操作不可能再访问到已取出的元素,下次push操作就会覆盖它