绥化市网站建设_网站建设公司_企业官网_seo优化
2026/3/2 0:27:12 网站建设 项目流程

栈出现的意义:

做历史记录;倒着走的逻辑、暂存状态的需求、回溯;函数调用意味着入栈,函数返回意味着出栈

一.顺序栈

1.四种操作行为

顺序栈中,指针指向位置和操作行为上分为4种

满栈,空栈,递增栈,递减栈(满递增,满递减,空递增,空递减)

如上图是满栈,空栈的区别(即先加加后放值,先放值后加加)

满栈:永远指向待插入位置,先加再放
空栈:永远指向已插入位置,先放再加

2.入栈出栈

入栈先++,出栈就要后--(反之同理)

如图

3.代码示例

arraystack.h

arraystack.c

栈的插入在这里通过覆盖思想替代原来元素(不删除原来元素,而是保留,如果不需要了,直接进行覆盖即可)

main.c

二.链式栈

1.注意点:

新节点必须放在老节点左侧(新节点指向老节点),在出栈时更方便

在右侧不好解决指针往回走的问题(出栈)

2.代码示例

Linkstack.h

Linkstack.c

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询