【CPP】栈简介及简化模拟实现

CPP栈和队列简单模拟实现

目录

    • 1. 栈的简介
    • 2. 栈简化模拟实现
    • 3. 栈练习题

在这里插入图片描述

1. 栈的简介

是一种 特殊的线性表,具有数据 先进后出 特点。
具体参考:【数据结构】栈

CPP库参考文档:stl_stack

注意:
1.stack本身 不支持迭代器操作
主要原因是因为stack不支持数据的随机访问,必须保证数据先进后出的特点。

2.stack在CPP库中实现为一种 容器适配器
所谓容器适配器,是为了适应不同的数据存储而修改底层的数据结构从而达到优化效率的目的。
参考:C++ STL容器适配器(详解)

2. 栈简化模拟实现

C版简化模拟栈:【数据结构】栈
CPP版简化模拟栈:

#pragma once
#include<vector>
#include<iostream>using namespace std;
namespace szg
{template<class T, class Container = vector<T>>class stack{private:Container _st;public:void push_back(const T& num){_st.push_back(num);}void pop_back(){_st.pop_back();}bool empty(){return _st.empty();}size_t size(){return _st.size();}const T& top(){return _st.back();}};
}

实际上,stack在库中给的容器缺省值是deque,是一个 顺序表与链表的结合体
deque参考文档:stl_deque
deque底层逻辑简介:【CPP】双端队列简介(deque)

3. 栈练习题

栈算法——最小栈
栈算法——逆波兰表达式求值
栈算法——栈的压入、弹出序列


EOF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

骨传导耳机防踩雷秘诀是什么?六大选购技巧独家揭秘!

相信大家都已经深有体会&#xff0c;拿那种常规的入耳式无线蓝牙耳机来做运动耳机&#xff0c;很难满足运动需要。如果选择前两年流行的颈挂式无线运动蓝牙耳机&#xff0c;虽然简单轻巧&#xff0c;但也是入耳式设计&#xff0c;长时间佩戴耳朵不舒服。这样看来&#xff0c;运…

Python-3.12.0文档解读-内置函数sorted()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 Python-3.12.0文档解读详细说明 功能描述 参数说明 用法示例 备注 进阶用法 参考…

【Qt】【模型视图架构】代理模型示例

文章目录 1. 基本排序/过滤模型Basic Sort/Filter Model Example2. 自定义排序/过滤模型Custom Sort/Filter Model ExampleFilterLineEdit类定义及实现MySortFilterProxyModel类定义及实现 1. 基本排序/过滤模型Basic Sort/Filter Model Example 官方提供的基本排序/过滤模型示…

docker 清理磁盘

文章目录 Docker - 解决/var/lib/docker/overlay2占用很大、容器无法启动问题&#xff08;清理磁盘&#xff09;一、首先执行如下命令可以查看 docker 文件夹磁盘使用情况&#xff1a;二、执行如下可以查看 Docker 的磁盘使用情况&#xff08;类似于 Linux 上的 df 命令&#x…

【算法】贪心算法——柠檬水找零

题解&#xff1a;柠檬水找零(贪心算法) 目录 1.题目2.题解3.参考代码4.证明5.总结 1.题目 题目链接&#xff1a;LINK 2.题解 分情况讨论 贪心算法 当顾客为5元时&#xff0c;收下当顾客为10元时&#xff0c;收下10元并找回5元当顾客为20元时&#xff0c;收下20元并找回10…

使用Python进行图像锐化的4个基础操作

想要让你的照片从模糊变锐利&#xff0c;就像魔法师轻轻一挥魔杖&#xff1f;今天我们就来学习如何用Python施加这神奇的“锐化滤镜”&#xff01;&#x1f389; 首先&#xff0c;你需要一位得力助手——Pillow库&#xff0c;它能让我们轻松处理图像。如果你还没安装&#xff…

Python Config 用法:探索配置文件的艺术

Python Config 用法&#xff1a;探索配置文件的艺术 在Python编程的广袤领域中&#xff0c;config模块以其独特的方式&#xff0c;为开发者们提供了一种灵活而强大的配置管理手段。本文将深入剖析config的用法&#xff0c;从四个方面、五个方面、六个方面和七个方面展现其魅力…

大泽动力车载柴油发电机的特点和优势有哪些

大泽动力车载柴油发电机具有一系列显著的特点和优势&#xff0c;以下是对其的详细介绍&#xff1a; 低噪音性能&#xff1a;大泽动力车载柴油发电机具备明显的低噪音性能&#xff0c;其噪音限值在距离机组7米处测得为70dB(A)&#xff0c;这为用户提供了一个相对安静的工作环境…

Java18+​App端采用uniapp+开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发 家政服务(师傅端)介绍

Java18​App端采用uniapp开发工具 idea hbuilder智能上门家政系统源码&#xff0c;一站式家政服务平台开发 家政服务&#xff08;师傅端&#xff09;介绍 家政服务师傅端是一个专为家政服务人员设计的平台&#xff0c;该平台旨在提供便捷、高效的工作机会&#xff0c;同时确保…

html期末复习速览

一.基础标签 1.段落标签<p></p> 特点&#xff1a;分段分割 2.标题标签<h1></h1>……<h6></h6> 特点&#xff1a;文字加粗&#xff0c;单独占一行 3.换行标签<br /> 特点&#xff1a;单标签&#xff0c;强制换行 二.文本格式化…

View->Bitmap缩放到自定义ViewGroup的任意区域(Matrix方式绘制Bitmap)

Bitmap缩放和平移 加载一张Bitmap可能为宽高相同的正方形&#xff0c;也可能为宽高不同的矩形缩放方向可以为中心缩放&#xff0c;左上角缩放&#xff0c;右上角缩放&#xff0c;左下角缩放&#xff0c;右下角缩放Bitmap中心缩放&#xff0c;包含了缩放和平移两个操作&#xf…

【面试】class文件里面是什么?

目录 1. 说明2. 主要部分2.1 魔数2.2 版本信息2.3 常量池2.4 访问标志2.5 类索引、父类索引和接口索引数组2.6 字段表2.7 方法表2.8 属性 1. 说明 1. .class 文件是 Java 编译器编译 Java 源代码文件&#xff08;.java 文件&#xff09;后生成的字节码文件。2.这些文件包含了 …

​探究当代婚恋市场的状况与挑战

​ 在当今社会&#xff0c;婚恋市场正经历着前所未有的变化。随着科技的进步和社会观念的演变&#xff0c;人们在寻找伴侣的方式和标准也在不断地发展。本文将探讨当前婚恋市场的状况&#xff0c;分析其面临的挑战&#xff0c;并提出相应的建议。 首先&#xff0c;互联网的普…

SpringBoot 多模块 多环境 项目 单元测试

环境描述 假设项目中有以下三个yml文件&#xff1a; application.ymlapplication-dev.ymlapplication-prod.yml 假设项目各Module之间依赖关系如下&#xff1a; 其中&#xff0c;D依赖C&#xff0c;C依赖B&#xff0c;B依赖A&#xff0c;D对外提供最终的访问接口 现在要想采…

深入解析MySQL事务的实现原理

一、事务的基本概念 在计算机科学中&#xff0c;事务 (Transaction) 是指对数据库进行的一系列操作&#xff0c;这些操作要么全部执行&#xff0c;要么全部不执行&#xff0c;是不可分割的工作单位。它们通常被用于确保数据库的完整性和一致性。 事务具有以下四个重要特性&am…

VUE阻止浏览器记住密码若依CLOUD(INPUT框密码替换圆点)

网上找的要不就是缺少方法要不就是不好用,故发一个完整的 粘贴可用版本 <el-form-item prop"password"><el-input v-model"loginForm.pwdCover" type"text" name"pwd" id"pwd" placeholder"密码" autoco…

“两客一危”车辆综合监控信息化产品及应用分析

引言 随着科技的不断进步和社会的发展&#xff0c;“两客一危”车辆&#xff08;即长途客车、旅游包车和危险品运输车&#xff09;的安全监管问题日益凸显。为了提升车辆的安全性能和管理效率&#xff0c;综合监控信息化产品应运而生。本文将对这一产品进行详细介绍&#xff0…

像艺术家一样工作

接下来开始翻译这本小册子 豆瓣评分还是挺高的&#xff0c;目前在国内没有看到有在售的翻译版本 书名直译的话是&#xff1a;像艺术家一样去偷 作者可能是为了制造营销话题&#xff0c;所以起了这么一个名字 但是偷这个词总归不太体面&#xff0c;所以我把书名翻译为&#…

随便用css换个渐变的太阳

来源于GPT4o&#xff1a;代码来源 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>渐变色上半圆…

机器学习笔记——欠拟合、过拟合

欠拟合 将训练损失和测试损失都比较大的拟合叫欠拟合&#xff0c;那么他的预测精度很低 1.一般出现在模型的复杂度小于数据本身的复杂度导致的&#xff0c;这个可能就是模型对数据的分布和实际数据分布之间的差异&#xff0c;这个就可能需要更换模型 2.还可能出现在梯度下降算…