浏览器原生三大性能API:ResizeObserver、IntersectionObserver与Page Visibility实战指南
2026/9/15 5:26:31
做历史记录;倒着走的逻辑、暂存状态的需求、回溯;函数调用意味着入栈,函数返回意味着出栈
顺序栈中,指针指向位置和操作行为上分为4种
满栈,空栈,递增栈,递减栈(满递增,满递减,空递增,空递减)
如上图是满栈,空栈的区别(即先加加后放值,先放值后加加)
满栈:永远指向待插入位置,先加再放
空栈:永远指向已插入位置,先放再加
入栈先++,出栈就要后--(反之同理)
如图
arraystack.h
arraystack.c
栈的插入在这里通过覆盖思想替代原来元素(不删除原来元素,而是保留,如果不需要了,直接进行覆盖即可)
main.c
新节点必须放在老节点左侧(新节点指向老节点),在出栈时更方便
在右侧不好解决指针往回走的问题(出栈)
Linkstack.h
Linkstack.c