C++ | 六、栈 Stack、队列 Queue

发布时间:2024年01月23日

栈的基础知识

  • 栈(stack)是一种数据结构,在C++中属于STL(标准库)
  • 特点:先进后出
    • 栈和队列的对比
  • 栈的使用:
    • 一、引入头文件<stack>
    • 二、创建栈变量(类似容器、集合的创建方式),如stack<int> my_stack;
  • stack基础功能:
    • stack.empty(),判断是否为空栈,是则返回true,否则false
    • stack.push(value),压栈,向栈中添加元素
    • stack.pop(),弹栈,从栈中移除元素(只能去栈顶元素)
    • stack.top(),获取栈顶元素,但不会删除它
    • stack.size(),获取栈的长度
    • 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章
    • 栈是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现栈的功能,如vector、list、deque等)
      • 因此,栈不被归类为一种容器,而被归类为一种容器适配器(container adapter)
      • 栈的内部结构

队列的基础知识

  • 队列(queue)是一种数据结构,在C++中属于STL(标准库)
  • 特点:先进先出
    • 栈和队列的对比
  • 队列的使用:
    • 一、引入头文件<queue>
    • 二、创建队列变量(类似容器、集合的创建方式),如queue<int> my_queue;
  • queue基础功能:
    • my_queue.empty(),判断是否为空队列,是则返回true,否则false
    • my_queue.push(value),向队列末尾添加元素
    • my_queue.pop(),从队列中移除元素(只能移除队列首元素)
    • my_queue.front(),获取队列首元素,但不会删除它
    • my_queue.size(),获取队列的长度
    • 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章
    • 队列是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现队列的功能,如vector、list、deque等)
      • 因此,队列不被归类为一种容器,而被归类为一种容器适配器(container adapter)
      • 栈的内部结构
文章来源:https://blog.csdn.net/weixin_45055622/article/details/135775447
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。