栈&队列的简单实现-创新互联

栈的定义---Stack

站在用户的角度思考问题,与客户深入沟通,找到杭州网站设计与杭州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名、虚拟空间、企业邮箱。业务覆盖杭州地区。

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

栈&队列的简单实现

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

但:

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

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

(1)方便管理

(2)效率高

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

实现如下:

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

测试如下:

栈&队列的简单实现

分析构造函数:

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

原因如下:

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

栈&队列的简单实现

队列的定义---Queue

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

栈&队列的简单实现

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

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

实现如下:

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

栈&队列的简单实现

测试如下:

栈&队列的简单实现

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

栈&队列的简单实现

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:栈&队列的简单实现-创新互联
转载源于:http://azwzsj.com/article/ghipe.html