星际数据收容单元:栈 (STACK)
LAST IN, FIRST OUT (LIFO) ENERGY SILO
📦 方式一:数组实现 (Array)
在连续的内存空间(数组)中开辟一块领地。使用一个整数变量 `top_index` 来记录栈顶的位置。压栈就是 `array[++top_index] = data`。
CONTIGUOUS MEMORY BLOCKS
优势: 物理内存连续,CPU 缓存命中率极高,读写神速。
痛点: 大小固定。如果预先开辟的空间(Capacity)塞满,就会发生 **Stack Overflow**,必须进行极其消耗性能的数组扩容搬家。
🔗 方式二:链表实现 (Linked List)
打破连续空间的束缚。每次压栈,都在宇宙任意角落新建一个分离舱,让它的指针指向原本的栈顶节点,然后将新舱室任命为新 `TOP`。
SCATTERED FLOATING CAPSULES
NULL
优势: 真正的动态生长!只要电脑物理内存没耗尽,你的栈就永远不会满(永不 Overflow)。
痛点: 每个节点都需要额外存储一个指针,内存开销大,且物理位置碎片化,导致 CPU 缓存命中率低下。