0%

数据结构之栈-c语言实现

在上一篇文章中说过,栈在实现上分为顺序栈和链式栈两种。

顺序栈: 用数组实现的栈

链式栈: 用链表实现的栈

因为栈就是一种“功能受限”的顺序表,所以在实现的时候,在之前数组和链表的基础上进行修改即可达到效果。

顺序栈

在实现顺序栈的时候,为了更好的表示栈顶元素top,我将之前数组中的使用个数used替换为top,在其他方面并没有太大的变化。

需要下载代码请移步至文末。

链式栈

链式栈在原先链表的基础上省去了不少内容,像按位置插入,删除指定内容等,这些都是由于栈的特性决定了只能从一端进行插入和删除,也正是因为如此,所以在单链表的基础上进行修改的,使用双链表没有太大的意义。

需要下载代码请移步至文末。

代码:

顺序栈:GitHub

链式栈:GitHub