当前位置:首页 » 《随便一记》 » 正文

C++初阶学习 第十二弹——stack与queue的介绍和使用

22 人参与  2024年12月13日 16:01  分类 : 《随便一记》  评论

点击全文阅读


目录

一、stack(栈)

1.栈的概念:

2.成员函数包括: 

3.栈的使用示例: 

4. 使用时的注意事项:

二.queue(队列)

1.队列的概念

2.成员函数 

3.队列的使用示例

4.使用时的注意事项

三.总结

一、stack(栈)

1.栈的概念:

C++中的stack是一种遵循后进先出原则的容器适配器。它提供了一系列标准的操作,使得用户可以方便地实现栈这种数据结构。

在C++标准库中,stack并不直接暴露给用户,而是作为<stack>头文件中stack模板类的声明。这个类是std::deque的封装,因此默认情况下,栈是通过双端队列实现的。但是,用户也可以指定其他的容器作为栈的底层结构,比如std::vectorstd::list

2.成员函数包括: 

3.栈的使用示例: 

#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<stack>using namespace std;int main(){        std::stack<int> L;        // 压入一些数字        L.push(1);        L.push(2);        L.push(3);        // 打印栈顶元素        std::cout << "栈顶元素: " << L.top() << std::endl;        // 弹出栈顶元素        L.pop();  std::cout << "栈顶元素: " << L.top() << std::endl;        // 检查栈是否为空        if (L.empty()) {            std::cout << "栈为空" << std::endl;        }        else {            std::cout << "栈不为空,栈中有 " << L.size() << " 个元素" << std::endl;        }return 0;}

 

4. 使用时的注意事项:

 确保不要超过栈的容量,否则可能会导致溢出。如果你需要频繁地访问栈中的元素,而不是仅仅进行 push 和 pop 操作,可能需要考虑使用其他数据结构。在模拟实现栈时,要注意内存管理,避免内存泄漏。

二.queue(队列)

1.队列的概念

queue是一种遵循先进先出原则的容器适配器。它提供了一系列标准的操作,使得用户可以方便地实现队列这种数据结构

2.成员函数 

3.队列的使用示例

#include <iostream>#include <queue> int main() {    std::queue<int> numbers;     // 插入一些数字    numbers.push(1);    numbers.push(2);    numbers.push(3);     // 打印队列的第一个元素    std::cout << "队列的第一个元素: " << numbers.front() << std::endl;     // 打印队列的最后一个元素    std::cout << "队列的最后一个元素: " << numbers.back() << std::endl;     // 弹出队列的第一个元素    numbers.pop();       std::cout << "队列的第一个元素: " << numbers.front() << std::endl;    // 检查队列是否为空    if (numbers.empty()) {        std::cout << "队列为空" << std::endl;    } else {        std::cout << "队列不为空,队列中有 " << numbers.size() << " 个元素" << std::endl;    }     return 0;} 

4.使用时的注意事项

确保不要超过队列的容量,否则可能会导致溢出。如果你需要频繁地访问队列中的元素,而不是仅仅进行 push 和 pop 操作,可能需要考虑使用其他数据结构。在模拟实现队列时,要注意内存管理,避免内存泄漏

三.总结

stack和queue的使用就讲到这里啦,相对简单使用起来,下节将讲述stack和queue有关的模拟实现。

创作不易请大佬们互三


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/200712.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • (头条)洛甯陆乘渊小说(闪婚老公是卧底,消失三年回来了)整本免费版阅读无广告(洛甯陆乘渊)
  • 陆少今天又秀恩爱了吗后续(陆怀骁苏棠)(陆少今天又秀恩爱了吗)整本畅享在线+无广告结局
  • 独家江柏俊夏清恬无删减(重生之团长俊夫要离婚)(江柏俊夏清恬)TXT免费版阅读
  • 全网首发重生下乡嫁糙汉,渣男全家悔哭了彩蛋(师明凯颜惜雪)(重生下乡嫁糙汉,渣男全家悔哭了)全本完整阅读无弹窗
  • 我是让他不屑一顾,不愿多看一眼的路人小说(安喻意商晋深)(我是让他不屑一顾,不愿多看一眼的路人)在线畅读阅读连载中
  • 丁榆后续(和渣男小叔叔的游戏日常)全文在线下载在线+纯净版结局
  • 洛甯陆乘渊::结局+番外评价五颗星-闪婚老公是卧底,消失三年回来了:结局+番外新上热文
  • 前传孟流年周丽珍续集(孟流年周丽珍)终章阅读极简(孟流年周丽珍)
  • 夏语栀祁墨寒我们各归人海,此生,也不必再见彩蛋小说结尾+附加(我们各归人海,此生,也不必再见)清爽版阅读
  • 重生下乡嫁糙汉,渣男全家悔哭了小说完结篇(师明凯颜惜雪)(重生下乡嫁糙汉,渣男全家悔哭了)全书无套路阅读无广告小说大结局
  • 他拿我取悦白月光,我离开后他悔哭了在线阅读_江宴苏晴晴方梨高分言情_小说后续在线阅读_无删减免费完结_
  • (王爷一晚亲七次,弃妇怂了!)云苏月延伸在线下载无广告章节清单

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1