温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

栈&队列的简单实现

发布时间:2020-07-11 13:19:16 来源:网络 阅读:256 作者:下一个明天 栏目:编程语言

栈的定义---Stack

栈只允许在栈的末端进行插入和删除的线性表。栈具有先进后出的特性。

栈&队列的简单实现

栈可用顺序表实现也可用链表实现。

但:

由于栈只能在末端进行操作,应使用顺序表实现。

用顺序表实现,有如下优点:

(1)方便管理

(2)效率高

(3)cpu高速缓冲存取利用率高


实现如下:


栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

测试如下:

栈&队列的简单实现


分析构造函数:

本来_capacity = s._capacity,但在程序中却令_capacity = s._top。

原因如下:

   若sk1开辟的空间太大,而栈中的元素只占用了空间的一小部分。则在拷贝构造sk2时,只需要开辟能够存的元素的空间即可。可以节省空间。若要在sk2上进行插入元素,则可以扩容。

栈&队列的简单实现



队列的定义---Queue

队列只允许在队尾插入,队头删除。具有先进先出的特性。

栈&队列的简单实现

队列的实现可用顺序表也可用链表。


若采用顺序表,删除时需要移动元素。为了操作方便,采取链表实现。


实现如下:

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

测试如下:

栈&队列的简单实现


此程序中有一个缺憾,因队列只能在队头和队尾进行操作。所以在打印队列时,不应该用print()。


栈&队列的简单实现

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI