当前位置: 首页 > news >正文

C++ 9.27

作业:

将之前实现的顺序表、栈、队列都更改成模板类

Stack

#include <iostream>
using namespace std;

template <typename T>
class Stack {
private:
    T* arr;      // 存储栈元素的数组
    int top;     // 栈顶索引
    int capacity; // 栈的容量

public:
    Stack(int size) {
        arr = new T[size]; 
        capacity = size;
        top = -1; // 初始化栈顶索引
    }

    ~Stack() {
        delete[] arr; // 释放内存
    }

    void push(T x) {
        if (top == capacity - 1) {
            cout << "栈溢出" << endl;
            return;
        }
        arr[++top] = x; 
    }

    void pop() {
        if (top == -1) {
            cout << "栈为空" << endl;
            return;
        }
        top--;
    }

    T peek() {
        if (top == -1) {
            cout << "栈为空" << endl;
            return T(); // 返回默认值
        }
        return arr[top]; // 返回栈顶元素
    }

    bool isEmpty() {
        return top == -1; // 检查栈是否为空
    }

    int size() {
        return top + 1; // 返回栈的大小
    }
};

int main() {
    Stack<int> stack(5); // 使用模板类
    stack.push(10);
    stack.push(20);
    cout << "栈顶元素: " << stack.peek() << endl;
    stack.pop();
    cout << "栈顶元素: " << stack.peek() << endl; 
    return 0;
}

Queue

 #include <iostream>
using namespace std;

template <typename T>
class Queue {
private:
    T* arr;      // 存储队列元素的数组
    int front; 
    int rear;  
    int capacity; // 队列的容量

public:
    Queue(int size) {
        arr = new T[size];
        capacity = size;
        front = 0;
        rear = -1; 
    }

    ~Queue() {
        delete[] arr; // 释放内存
    }

    void push(T x) {
        if (rear == capacity - 1) {
            cout << "队列溢出" << endl;
            return;
        }
        arr[++rear] = x; // 将元素插入队列
    }

    void pop() {
        if (front > rear) {
            cout << "队列为空" << endl;
            return;
        }
        front++; 
    }

    T frontElement() {
        if (front > rear) {
            cout << "队列为空" << endl;
            return T(); // 返回默认值
        }
        return arr[front]; 
    }

    bool isEmpty() {
        return front > rear; // 检查队列是否为空
    }

    int size() {
        return rear - front + 1; // 返回队列的大小
    }
};

int main() {
    Queue<int> queue(5); // 使用模板类
    queue.push(10);
    queue.push(20);
    cout << "队列前端元素: " << queue.frontElement() << endl;
    queue.pop();
    cout << "队列前端元素: " << queue.frontElement() << endl;
    return 0;
}

Xmind

 

相关文章:

C++ 9.27

作业&#xff1a; 将之前实现的顺序表、栈、队列都更改成模板类 Stack #include <iostream> using namespace std; template <typename T> class Stack { private: T* arr; // 存储栈元素的数组 int top; // 栈顶索引 int capacity; // 栈的…...

让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先

论文链接&#xff1a;https://arxiv.org/pdf/2409.12514 项目链接&#xff1a;https://tiny-vla.github.io/ 具身智能近期发展迅速&#xff0c;拥有了大模型"大脑"的机械臂在动作上更加高效和精确&#xff0c;但现有的一个难点是&#xff1a;模型受到算力和数据的制…...

Excel 获取某列不为空的值【INDEX函数 | SMALL函数或 LARGE函数 | ROW函数 | ISBLANK 函数】

〇、需求 Excel 获取某列不为空的值(获取某列中第一个非空值 或 获取某列中最后一个非空值)。 一、知识点讲解 INDEX函数 和 SMALL函数 两个函数搭配使用都可以实现上述需求 获取某列中第一个非空值 。 INDEX函数 和 LARGE函数 两个函数搭配使用都可以实现上述需求 获取某…...

爆火!大模型算法岗 100 道面试题全解析,赶紧收藏!

大模型应该是目前当之无愧的最有影响力的AI技术&#xff0c;它正在革新各个行业&#xff0c;包括自然语言处理、机器翻译、内容创作和客户服务等等&#xff0c;正在成为未来商业环境的重要组成部分。 截至目前大模型已经超过200个&#xff0c;在大模型纵横的时代&#xff0c;不…...

Python画笔案例-068 绘制漂亮米

1、绘制漂亮米 通过 python 的turtle 库绘制 漂亮米,如下图: 2、实现代码 绘制 漂亮米,以下为实现代码: """漂亮米.py注意亮度为0.5的时候最鲜艳本程序需要coloradd模块支持,安装方法:pip install coloradd程序运行需要很长时间,请耐心等待。可以把窗口最小…...

得物App荣获国家级奖项,正品保障引领潮流电商新风尚

近日&#xff0c;在2024年中国国际服务贸易交易会上&#xff0c;得物App凭借其在科技创新保障品质消费领域的突出成果&#xff0c;再次荣获国家级殊荣——“科技创新服务示范案例”。这是继上海市质量金奖之后&#xff0c;得物App获得的又一个“高含金量”奖项。 作为深受年轻人…...

【BurpSuite】SQL注入 | SQL injection(1-2)

&#x1f3d8;️个人主页&#xff1a; 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞&#x1f44d;收藏&#x1f497;支持一下哦 【BurpSuite】SQL注入 | SQL injection&#xff08;1-2&#xff09; 实验一 Lab: SQL injection vulnerability in WHERE clause…...

ThreadPoolExecutor有哪些核心的配置参数?

ThreadPoolExecutor 是 Java 中强大的线程池实现&#xff0c;具有多种配置参数&#xff0c;可以灵活地根据具体应用需求进行调整。以下是 ThreadPoolExecutor 的核心配置参数及其简要说明&#xff1a; 1. corePoolSize 描述&#xff1a;核心线程池的大小&#xff0c;即最小保…...

关于工作虚拟组的一些思考

这是学习笔记的第 2493篇文章 因为各种工作协作&#xff0c;势必要打破组织边界&#xff0c;可能会存在各种形态的虚拟组。 近期沉淀了一些虚拟组的管理方式&#xff0c;在一定时间范围内也有了一些起色&#xff0c;所以在不断沉淀的过程中&#xff0c;也在不断思考。 这三个虚…...

【Redis入门到精通六】在Spring Boot中集成Redis(含配置和操作演示)

目录 Spring Boot中集成Redis 1.项目创建和环境配置 2.基本操作演示 Spring Boot中集成Redis Spring社区也自定义了一套Redis的客户端&#xff0c;与jedis的操作方式有所差异&#xff0c;Spring中把每个类型的操作都单独封装了起来。下面就让我来带大家了解如何在Spring Boot…...

【CSS】透明度 、过渡 、动画 、渐变

opacity 透明度transition 过渡animation 动画background 渐变 ( 线性渐变 \ 径向渐变 \ 锥形渐变 ) opacity 透明度 设置元素的透明度&#xff0c;会影响元素及其所有子元素的透明度&#xff0c;值范围&#xff1a;0&#xff08;完全透明&#xff09;到 1&#xff08;完全不透…...

尚硅谷vue3+TypeScript笔记大全

1. Vue3简介 2020年9月18日&#xff0c;Vue.js发布版3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;n 经历了&#xff1a;4800次提交、40个RFC、600次PR、300贡献者 官方发版地址&#xff1a;Release v3.0.0 One Piece vuejs/core 截止2023年10月&#xff0c;最…...

New major version of npm available! 8.3.1 -> 10.8.3 报错

问题 npm install 安装新项目时&#xff0c;出现如下升级错误。 npm notice npm notice New major version of npm available! 8.3.1 -> 10.8.3 npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3 npm notice Run npm install -g npm10.8.3 to upd…...

Python(七)- 文件操作

目录 文件操作 打开文件 读数据 写数据 关闭文件 文件读写实例 文件写 文件读 读数据类型 备份文件 os模块 目录的具体操作 文件操作 在Python中操作文件记录信息的步骤&#xff1a; &#xff08;1&#xff09;打开文件&#xff0c;或新建一个文件&#xff1b; o…...

Docker技术深度解析与实践案例

Docker技术深度解析与实践案例 在当今快速迭代的软件开发环境中&#xff0c;如何高效地打包、部署和管理应用成为了开发人员和运维团队面临的重大挑战。Docker&#xff0c;作为一种开源的应用容器引擎&#xff0c;凭借其轻量级、可移植性和高效性&#xff0c;迅速成为解决这些…...

llama_deploy

本文于 240924 翻译整理自: https://docs.llamaindex.ai/en/stable/module_guides/workflow/deployment/ 文章目录 一、关于 🦙`llama_deploy`🤖为什么使用 `llama_deploy`?等等,`llama-agents` 在哪里?二、入门1、安装2、高级部署3、部署核心系统4、部署工作流5、与部…...

平衡二叉搜索树插入的实现

前言 因为二叉搜索树在插入的时候最坏的情况可能会变成一条单一链表&#xff0c;从而使查找或者插入的时候消耗大量的时间。所以为了解决这一情况诞生了平衡二叉搜索树&#xff0c;其作用是为了减少二叉搜索树的整体高度&#xff0c;从而使查找插入删除的效率提高。 一、平衡二…...

ROS理论与实践学习笔记——2 ROS通信机制之通信机制实践

5.1 话题发布 需求描述&#xff1a;编码实现乌龟运动控制&#xff0c;让小乌龟做圆周运动。 实现分析&#xff1a; ①乌龟运动控制实现&#xff0c;关键节点有两个&#xff0c;一个是乌龟运动显示节点 turtlesim_node&#xff0c;另一个是控制节点&#xff0c;二者是订阅发布模…...

CDGA|数据治理:策略与价值的深度融合

在当今这个数据驱动的时代&#xff0c;企业数据治理的重要性日益凸显。数据不仅是企业的核心资产&#xff0c;更是驱动业务决策、优化运营流程、创新产品服务的关键力量。然而&#xff0c;要让数据治理真正发挥价值&#xff0c;企业需要采取一系列策略来确保数据的准确性、完整…...

49. 建模软件绘制3D场景(Blender)

这文章主要给大家科普一些三维模型创建、美术和程序员协作的相关问题。 三维建模软件作用 对于简单的立方体、球体等模型&#xff0c;你可以通过three.js的几何体相关API快速实现&#xff0c;不过复杂的模型&#xff0c;比如一辆轿车、一栋房子、一个仓库&#xff0c;一般需要…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...