c++ day06

embedded/2024/10/21 13:38:48/

类的栈 实现

#include <iostream>using namespace std;class Stack
{
private:static const size_t MAX = 100; // 定义固定容量int data[MAX];                  // 存储栈元素的数组size_t len;                       // 当前栈的大小public:// 构造函数Stack() : len(0) {}// top 操作int& top(){return data[len - 1]; // 返回栈顶元素}// empty 操作bool empty() const{return len == 0;}// size 操作size_t size() const{return len;}// push 操作void push(int value){if (len < MAX){data[len++] = value;}else{cout << "错误" << endl; // 栈溢出处理}}// pop 操作void pop(){if (!empty()){--len;}else{cout << "错误" << endl; // 栈下溢出处理}}
};// 示例使用
int main()
{Stack s;s.push(1);s.push(2);s.push(3);cout << "栈顶: " << s.top() << endl; // 输出 3cout << "栈大小: " << s.size() << endl; // 输出 3s.pop();cout << "pop后的栈顶: " << s.top() << endl; // 输出 2return 0;
}

 用类实现队列

#include <iostream>using namespace std;class Queue
{
private:static const size_t max = 100; // 定义固定容量int data[max];                 // 存储队列元素的数组size_t top;                    // 队首索引size_t tail;                   // 队尾索引size_t len;                    // 当前队列的大小public:// 构造函数Queue() : top(0), tail(0), len(0) {}// front 操作int& front(){return data[top]; // 返回队首元素}// back 操作int& back(){return data[(tail - 1 + max) % max]; // 返回队尾元素}// empty 操作bool empty() const{return len == 0;}// size 操作size_t size() const{return len;}// push 操作void push(int value){if (len < max){data[tail] = value;tail = (tail + 1) % max;++len;}else{cout << "错误" << endl; // 队列溢出处理}}// pop 操作void pop(){if (!empty()){top = (top + 1) % max;--len;}else{cout << "错误" << endl; // 队列下溢出处理}}
};// 示例使用
int main()
{Queue q;q.push(1);q.push(2);q.push(3);cout << "队首: " << q.front() << endl; // 输出 1cout << "队尾: " << q.back() << endl;   // 输出 3cout << "队列的长度: " << q.size() << endl;     // 输出 3q.pop();cout << "pop后的队首: " << q.front() << endl; // 输出 2return 0;
}


http://www.ppmy.cn/embedded/118238.html

相关文章

【MATLAB源码-第176期】基于matlab的16QAM调制解调系统频偏估计及补偿算法仿真,对比补偿前后的星座图误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在通信系统中&#xff0c;频率偏移是一种常见的问题&#xff0c;它会导致接收到的信号频率与发送信号的频率不完全匹配&#xff0c;进而影响通信质量。在调制技术中&#xff0c;QPSK&#xff08;Quadrature Phase Shift Keyi…

Python操作系统的6个自动化脚本

在Python中&#xff0c;实现操作系统自动化的脚本可以涵盖从文件操作、系统监控到网络任务等多种功能。下面我将详细介绍六个不同类别的Python自动化脚本示例&#xff0c;这些示例将帮助你理解如何用Python来自动化日常操作系统任务。 1. 文件与目录管理自动化 场景&#xff…

json Date格式化时间偏差8小时,而@JsonFormat注解有无法动态指定时区,如何解决?

use this method to set timezone and replace JsonFormat(pattern “yyyy-MM-dd HH:mm:ss”, timezone“GMT8”) (1)Model field JSONField(format DateTimeJsonFormatSerializer.TIME_FMT)//fastjson,JSON.toJSONString()JsonSerialize(using DateTimeJsonFormatSerializ…

【计算机网络超强概念总结】第二章 物理层

一、数据通信基本概念 信源和信宿&#xff1a;一次通信中产生和发送信息的一端叫信源&#xff0c;接收信息的一端叫信宿。 信道&#xff1a;信源和信宿之间的通信线路称为信道。 数据&#xff1a;运送信息的实体。 信号&#xff1a;数据的电气的或电磁的表现。 模拟信号&am…

机器学习之非监督学习(二)异常检测(基于高斯概率密度)

机器学习之非监督学习&#xff08;二&#xff09;异常检测&#xff08;基于高斯概率密度&#xff09; 0. 文章传送1.案例引入2.高斯正态分布3.异常检测算法4.异常检测 vs 监督学习5.算法优化6.代码实现 0. 文章传送 机器学习之监督学习&#xff08;一&#xff09;线性回归、多…

【力扣 | SQL题 | 每日三题】力扣182, 577, 183, 584, 620

1. 力扣182&#xff1a;查找重复的电子邮箱 1.1 题目&#xff1a; 表: Person ---------------------- | Column Name | Type | ---------------------- | id | int | | email | varchar | ---------------------- id 是该表的主键&#xff08;具有唯…

前端框架对比与选择

&#x1f916; 作者简介&#xff1a;水煮白菜王 &#xff0c;一位资深前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧✍。 感谢支持&#x1f495;&#x1f495;&#x1f495; 目…

Llama 3.1 Omni:颠覆性的文本与语音双输出模型

你可能听说过不少关于语言模型的进展,但如果告诉你,有一种模型不仅能生成文本,还能同时生成语音,你会不会觉得特别酷?今天咱们就来聊聊一个相当前沿的项目——Llama 3.1 Omni模型。这个模型打破了传统的文字生成边界,直接让文本和语音同时输出,实现了真正的"多模态…