page contents

如何实现栈?

轩辕小不懂 发布于 2022-03-24 16:29
阅读 467
收藏 0
分类:人工智能

实现一个栈的数据结构,使其具有以下方法:压栈、弹栈、取栈顶元素、判断栈是否为空以及获取栈中元素个数。

3365
Nen
Nen
- 程序员

方法一:数组实现在采用数组来实现栈的时候,栈空间是一段连续的空间。实现思路如图9-5所示。

attachments-2022-03-wNmk6BUx623c2fe7e2a1f.png

(图9-5 数组实现栈)

从图9-5中可以看出,可以把数组的首元素当作栈底,同时记录栈中元素的个数size,假设数组首地址为arr,压栈的操作其实是把待压栈的元素放到数组arr[size]中,然后执行size+操作。同理,弹栈操作其实是取数组arr[size-1]元素,然后执行size-操作。根据这个原理可以非常容易实现栈,示例代码如下:

attachments-2022-03-RiY8lmWr623c3019b746e.png

attachments-2022-03-k3YZreH0623c30309962b.png

请先 登录 后评论