文章来源:http://blog.seclibs.com/数据结构之栈-c语言实现/
在上一篇文章中说过,栈在实现上分为顺序栈和链式栈两种。
顺序栈: 用数组实现的栈
链式栈: 用链表实现的栈
因为栈就是一种“功能受限”的顺序表,所以在实现的时候,在之前数组和链表的基础上进行修改即可达到效果。
顺序栈
在实现顺序栈的时候,为了更好的表示栈顶元素top,我将之前数组中的使用个数used替换为top,在其他方面并没有太大的变化。
需要下载代码请移步至文末。
链式栈
链式栈在原先链表的基础上省去了不少内容,像按位置插入,删除指定内容等,这些都是由于栈的特性决定了只能从一端进行插入和删除,也正是因为如此,所以在单链表的基础上进行修改的,使用双链表没有太大的意义。
需要下载代码请移步至文末。
代码:
顺序栈:GitHub
链式栈:GitHub
文章首发公众号和个人博客
公众号:无心的梦呓(wuxinmengyi)