自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aron的博客

CSDN内容合伙人、C/C++领域新星创作者。本科在读,致力于C/C++方向的学习,同时涉及Linux操作系统学习、数据结构与算法、数据库MySQL...

  • 博客(120)
  • 收藏
  • 关注

原创 单片机上搭配的SPI NOR FLASH容量告急!扩容新选择

NOR FLASH 是市场上两种主要的非易失闪存技术之一。Intel于1988年首先开发出NOR Flash 技术(实际上是东芝的富士雄率先开发出来的),彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。

2024-07-23 11:39:29 900 54

原创 【Qt】窗口部件以及布局管理器

Qt提供了对象树机制,能够自动、有效的组织和管理继承自QObject的Qt对象。每个继承自QObject类的对象通过它的对象链表(QObjectList)来管理子类对象,当用户创建一个子对象时,其对象链表相应更新子类对象信息,对象链表可通过children()获取。当父对象析构的时候,其对象链表中的所有(子)对象也会被析构,父对象会自动将其从父对象列表中删除。Qt 保证没有对象会被 delete 两次。开发中手动回收资源时建议使用deleteLater代替delete,因deleteLater多次是

2024-07-22 11:45:00 833 30

原创 【MySQL】数据库基础

存储数据用文件就可以了,为什么还要弄个数据库?文件保存数据有以下几个缺点文件的安全性问题;文件不利于数据查询和管理;文件不利于存储海量数据;文件在程序中控制不方便;为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。数据库是一种用于存储、管理和检索数据的有组织的数据集合。它是一个电子化的信息存储系统,用于存储各种类型的数据,如文本、数字、图像、音频等。

2024-07-21 19:01:21 1012 18

原创 【Qt】动态属性详解

Qt动态属性的基础用法

2024-07-20 13:40:14 1223 58

原创 【MySQL】Ubuntu22.04 安装 MySQL8 数据库详解

Ubuntu22.04 安装 MySQL8 数据库详解

2024-07-19 13:30:00 411 13

原创 Stable Diffusion——涂鸦幻变:稳态扩散下的艺术重生

通过以上的操作流程,我们不仅见证了涂鸦重绘技术的强大力量,也深切体会到了它在艺术创作中的独特优势。涂鸦重绘不仅能够将简单的线条和草图转化为栩栩如生的艺术作品,还能够保持原有作品的风格和韵味,同时注入新的创意和细节,使得每一幅作品都焕发出新的生命力和艺术魅力。好易智算平台在这一过程中扮演了不可或缺的角色。它不仅提供了稳定高效的计算支持,使得复杂的图像处理任务变得轻松可行,还以其人性化的操作界面和专业服务团队,极大地降低了技术门槛,让更多用户能够轻松掌握并应用这一先进技术。好易智算平台的 399 包月活动。

2024-07-18 14:03:04 600 147

原创 【Qt】信号与槽

信号槽,是Qt的核心机制,用来实现对象之间的通信: 即,某个对象,想通知另一个对象去做某件事情时, 这个对象,就发送某个“信号”, 另一个对象收到这个信号后,就去做之前约定好的那个 特定的事情。信号槽机制有:1)信号的发送者2)信号的接受者3)发送者发送的这个信号(不需要程序员去定义函数体的空壳函数)4)接收者去执行的某个函数(称为:槽)我们要做:1.信号槽需要在使用之前,做好关联(信号和槽之间的关联)2.发送者在需要的时候,发送这个信号。

2024-07-15 17:14:19 1915 168

原创 【Qt】元对象系统

Qt元对象系统为何一定要继承自QObject?槽(Slot)就是对信号响应的函数。槽就是一个函数,与一般的*C++*函数是一样的,可以声明在类的任何部分(public、private 或 protected),可以具有任何参数,也可以被直接调用。槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。声明三个槽方法槽方法中处理需要处理的工作注意:使用qDebug()输出信息时注意添加头文件。

2024-07-13 22:25:36 621 36

原创 【Qt】概述和安装

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编。

2024-07-12 17:39:04 727 139

原创 ONLYOFFICE 桌面编辑器 8.1

ONLYOFFICE 的编辑器不仅限于文本处理,还提供了丰富的功能来处理复杂的文档排版、公式计算以及图形和多媒体内容的插入。此外,ONLYOFFICE 还提供了企业版,为企业客户提供额外的功能和支持服务。继发布后,适用于 Linux、Windows 和 macOS 的 ONLYOFFICE 桌面应用程序最新版本也已推出。它具有在线套件的最主要功能,例如功能齐全的 PDF 编辑器、演示文稿中的幻灯片版式、改进的 RTL 支持、新的本地化选项等。

2024-06-24 15:13:41 1368 120

原创 『C++11』右值引用 || 完美转发 || 新增类功能 || 可变参数模板

自从C++98以来,C++11无疑是一个相当成功的版本更新。它引入了许多重要的语言特性和标准库增强,为C++编程带来了重大的改进和便利。C++11的发布标志着C++语言的现代化和进步,为程序员提供了更多工具和选项来编写高效、可维护和现代的代码在学习右值引用之前,需要先来看看左值引用引用是C++相对于C语言 的升级点之一,引用既能像指针那样获取资源的地址,直接对资源进行操纵,也不必担心多重引用问题,对于绝大多数场景来说,引用比指针好用得多引用。

2024-06-23 10:38:34 1031 35

原创 『C++11』基础新特性

自从C++98以来,C++11无疑是一个相当成功的版本更新。它引入了许多重要的语言特性和标准库增强,为C++编程带来了重大的改进和便利。C++11的发布标志着C++语言的现代化和进步,为程序员提供了更多工具和选项来编写高效、可维护和现代的代码1998年C++标准委员会成立后,计划每五年进行一次更新在2003年C++标准委员会提交了一份技术勘误表(简称为TC1),TC1主要是对C++98标准中的漏洞进行修复,其语言的核心部分并没有大改动,这次提交可以看作一次小小的语法更新,即C++03。

2024-06-17 11:22:20 1493 28

原创 【C++】哈希应用之布隆过滤器

注册账号是进行网络冲浪的第一步操作,而拥有一个具有个性且独一无二的用户昵称是非常重要的,很多人在填写昵称时,常常会看到此昵称已存在的提示,系统是如何快速知道当前昵称是否存在呢?总不能挨个去遍历对比吧,这时候就需要我们本文中的主角:布隆过滤器。

2024-06-11 00:42:39 982

原创 【C++】哈希应用之位图

位图(bitset)是一种特殊的数据结构,仅仅依靠01表示当前位置是否有数据存在,常用于对查找速度和存储空间有着高要求的场景中,除此之外,位图还可以配合宏定义,实现同时传递多个参数,比如系统调用open,其中的参数2(打开方式)就是一个简单的位图结构位图是一种十分特殊的数据结构,其主要依靠0和1表征状态,结合哈希的映射思想,即保证了速度,又保证了空间位图速度极快O(1)节省空间 使用粒度最细的比特位位图只能映射整型对于浮点符、字符串等数据无法做到很好的映射位图快速查找某个数据是否在一个集合中。

2024-06-06 16:33:39 1197

原创 【C++】哈希表的完善及封装

关于哈希表的两种实现方法:闭散列、开散列 已经在上一篇文章中学习过了,闭散列 存在踩踏问题,十分影响效率,因此在实践中往往会选择更加优秀的 开散列,哈希表(开散列)又叫做 哈希桶,作为被选中的结构,我们需要对其进行改造,完善哈希桶,使其最终能封装出与。

2024-06-05 10:00:00 1383 15

原创 【C++】哈希表的模拟实现

哈希表的核心思想是 映射,对数据的键值进行处理后,映射 至表中对应的位置,实现存储,利用空间换时间,哈希表的查找效率非常高,可以达到O(1),哈希表的实现主要分为两种:闭散列 与 开散列,本文中将利用这两种方案实现哈希表键值对、状态表示键值对既可以是K也可以是K / V,我们这里实现的是K / V空EMPTY初始状态存在EXIST插入数据后的状态删除DELETE删除数据后的状态其实简单分为 [可用 / 不可用] 两种状态也行,细分出EMPTY与DELETE是为了在进行 探测 时,提高效率。

2024-06-03 22:42:18 989

原创 【C++】初识哈希

哈希(Hash)是一个广泛的概念,其中包括哈希表、哈希冲突、哈希函数等,核心为元素(键值)与存储位置(哈希值)之间的映射关系,哈希值可以通过各种哈希函数进行计算,需要尽量确保 “唯一性”,避免冲突,除此之外,哈希函数还可用于区块链中,计算 区块头(Head)中的信息,本文将带你认识哈希,学习其中的各种知识。

2024-05-31 09:45:00 1131

原创 【C++】用红黑树封装 set 和 map

红黑树的基本情况我们已经在上一篇文章中学习过了,本文主要研究的是红黑树的实际应用:封装实现set和map,看看如何通过一棵红黑树满足两个不同的数据结构;在正式封装之前,先要对之前的红黑树进行完善,增加必要功能。

2024-05-26 11:15:20 546

原创 亚马逊云科技介绍

云计算是通过互联网云服务平台按需提供计算能力、数据库存储、应用程序和其他 IT 资源,采用按使用量付费定价模式。传统方式下,若想构建应用程序,开发人员必须购买、设置和维护物理基础设施与应用程序。而云计算解决了这些痛点。您可以通过云服务平台快速获取灵活的低成本 IT 资源,然后使用这些资源构建和维护软件和数据库,并创建令客户满意的应用程序。您不需要在硬件上进行大量前期投资,也不需要花费大量时间在繁琐的硬件管理工作上。您可以根据需要访问(几乎是即时访问)任意数量的资源,而且只需为所用资源付费。

2024-05-24 15:03:59 1661

原创 【C++】红黑树

红黑树是平衡二叉搜索树中的一种,红黑树性能优异,广泛用于实践中,比如Linux内核中的CFS调度器就用到了红黑树,由此可见红黑树的重要性。

2024-05-20 10:00:00 563

原创 【C++】AVL树

普通的二叉搜索树可能会退化为单支树(歪脖子树),导致搜索性能严重下降,为了解决这个问题,诞生了平衡二叉搜索树,主要是通过某些规则判断后,降低二叉树的高度,从而避免退化,本文介绍的AVL树就属于其中一种比较经典的平衡二叉搜索树,它是通过 平衡因子 的方式来降低二叉树高度的,具体怎么操作,可以接着往下看AVL树在原二叉搜索树的基础上添加了平衡因子bf以及用于快速向上调整的父亲指针parent,所以 AVL树是一个三叉链结构所以AVL//AVL树的节点类(key / value 模型)int _bf;

2024-05-14 11:00:00 658

原创 【C++】set 和 map 学习及使用

set和map是STL中的容器之一,不同于普通容器,它俩的查找速度极快,常用来存储各种经常被检索的数据,因为这俩容器的底层是平衡二叉搜索树中的红黑树。除此之外,还可以借助其特殊的性质,解决部分难题set其实就是之前在二叉搜索树中key的模型set只包含实值value,或者说它的实值就是键值,键值就是实值其中的T就是set的实值(键值),参数2Compare为存储依据,默认为升序,即符合二叉搜索树升序,参数3Alloc是空间配置器,现在不必深究作为STL中的容器,set当然少不了迭代器,

2024-05-12 23:48:41 978

原创 【C++】二叉搜索树

时隔多日,又回到了二叉树的学习中,在 C++ 进阶中,我们首先要学习 二叉搜索树,重新捡起二叉树的相关知识,然后会学习 AVL 树 及 红黑树,最后会用红黑树封装实现库中的 set 和 map,作为 C++ 进阶中的难度最高峰,整个学习过程非常艰辛,但 关关难过关关过,让我们先从比较简单的 二叉搜索树 开始学习二叉搜索树(Binary search tree)是基于二叉树的一种改进版本。因为普通二叉树没有实际价值,无法进行插入、删除等操作(无意义),但二叉搜索树就不一样了,

2024-05-10 14:12:37 877

原创 【C++】多态

多态是面向对象三大基本特征中的最后一个,多态可以实现 “一个接口,多种方法”,比如父子类中的同名方法,在增加了多态后,调用同名函数时,可以根据不同的对象(父类对象或子类对象)调用属于自己的函数,实现不同的方法,因此多态的实现依赖于继承实现多态需要借助虚表(虚函数表),而构成虚表又需要虚函数,即virtual修饰的函数,除此之外还需要使用虚表指针来进行函数定位、调用截至目前为止,我们已经学习了三个“重”重载、重写、重定义这三兄弟不止名字很像,而是功能也都差不多,很多面试题中也喜欢考这三者的区别。

2024-05-04 12:30:00 1875

原创 【C++】继承

继承是面向对象三大特性之一(封装、继承、多态),所有的面向对象(xx)语言都具备这三个基本特征,封装相关概念已经在《类和对象》系列中介绍过了,今天主要学习的是继承,即如何在父类的基础之上,构建出各种功能更加丰富的子类了解完继承相关概念后,就可以开始学习使用继承了。

2024-05-03 09:30:00 1174

原创 【C++】模板进阶

模板是搭建STL的基本工具,同时也是泛型编程思想的代表,模板用好了可以提高程序的灵活性,以便进行更高效的迭代开发,模板除了最基本的类型替换功能外,还有更多高阶操作:非类型模板参数、全特化、偏特化等,以及关于模板声明与定义不能分离(在两个不同的文件中)的问题,都将在本文中进行介绍。

2024-05-02 10:30:00 1258

原创 【C++】STL学习之优先级队列

优先级队列是容器适配器中的一种,常用来进行对数据进行优先级处理,比如优先级高的值在前面,这其实就是初阶数据结构中的堆,它俩本质上是一样东西,底层都是以数组存储的完全二叉树,不过优先级队列中加入了泛型编程的思想,并且属于STL中的一部分。

2024-05-01 16:36:06 1363 1

原创 【C++】STL学习之反向迭代器

适配器模式是STL中的重要组成部分,在上一篇文章中我们学习了容器适配器的相关知识,即stack与queue,除了容器适配器外,还有迭代器适配器,借助迭代器适配器,可以轻松将各种容器中的普通迭代器转变为反向迭代器,这正是适配器的核心思想反向迭代器适用于所有的容器,因此它是作为一个单独的.h文件出现的,别的容器如果想使用,直接包含就行了。

2024-04-30 09:30:00 1101 1

原创 【C++】STL学习之容器适配器

适配器(配接器)是STL中的六大组件之一,扮演着轴承、转换器的角色,使得STL中组件的使用更为灵活,比如栈和队列就是属于适配器而非容器,以及神秘的反向迭代器也属于适配器具有多种功能的电源适配器,可以满足多种需求。

2024-04-27 08:30:00 1750 2

原创 【C++】STL学习之list的模拟实现

STL中的list是一个双向带头循环链表,作为链表的终极形态,各项操作性能都很优秀,尤其是list中迭代器的设计更是让人拍案叫绝,如此优秀的容器究竟是如何实现的?本文将带你共同揭晓。

2024-04-24 16:05:23 1000 1

原创 【C++】STL学习之list的使用

STL中的vector存在头部及中部操作效率低的缺陷,需要另一种容器来弥补其短板,此时list就应运而生,list是一个双向带头循环链表,是链表的终极形态,除了不支持下标的随机访问外,其他方面效率都是极高的,本文将带大家认识、使用list容器list的结构示意图(双向带头循环链表)

2024-04-21 10:00:00 1603 1

原创 【C++】STL学习之vector的模拟实现

vector是STL中的容器之一,其使用方法类似于数据结构中的顺序表,得益于范型编程和C++特性的加持,vector更强大、更全能;在模拟实现vector时,还需要注意许多细枝末节,否则就很容易造成重复析构及越界访问vector的数据安排以及操作方式,与array非常相似。两者的唯一差别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细得由客户端自己来:首先配置一块新空间,然后将元素从旧址一一搬往新址,再把原来的空间释还给系统。vector。

2024-04-18 15:48:00 1522

原创 2024年第十五届蓝桥杯C/C++B组复盘(持续更新)

小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。在会议上, 大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进 行一次握手(且仅有一次)。但有 7 个人,这 7 人彼此之间没有进行握手(但 这 7 人与除这 7 人以外的所有人进行了握手)。请问这些人之间一共进行了多 少次握手?

2024-04-15 09:47:38 3918 9

原创 【C++】STL学习之vector的使用

vector是表示可变大小数组的序列容器,其使用的是一块 连续 的空间,因为是动态增长的数组,所以vector在空间不够时会扩容;vector优点之一是支持 下标的随机访问,缺点也很明显,头插或中部插入效率很低,这和我们之前学过的顺序表性质很像,不过在结构设计上,两者是截然不同的。

2024-04-14 13:00:00 1027 1

原创 【C++】gcd函数的写法

大公因数(英语:highest common factor,hcf)也最大公约数(英语:greatest common divisor,gcd)是数学词汇,指能够整除多个整数的最大正整数。而多个整数不能都为零。例如8和12的最大公因数为4。穷举法:分别列出两整数的所有约数,并找出最大的公约数。素因数分解:分别列出两数的素因数分解式,并计算共同项的乘积。短除法:两数除以其共同素因数,直到两数互素时,所有除数的乘积即为最大公约数。

2024-04-11 12:56:04 1784

原创 【C++】STL学习之string的模拟实现

string本质上就是一个专注于存储字符的顺序表,使用起来很方便;但在模拟实现string时,有许多值得注意的点,下面就来看看string类是如何诞生的吧注意: string接口众多,本文模拟实现的只是部分常用接口。

2024-04-11 10:30:00 669

原创 【C++】STL学习之string的使用

STL是C++伪函数空间配置器算法容器迭代器和配接器,其中各种各样的容器可以很好的辅助我们写程序,比如今天要介绍的string,有了它之后,我们对字符串的操作就能变得行云流水注意: string诞生于STL之前,因此存在部分接口冗余的情况。

2024-04-08 08:45:00 1987

原创 【Linux】Linux进程学习(基本认知)

进程是计算机中的重要概念,每个运行中的程序都有属于自己的进程信息,操作系统可以根据这些信息来进行任务管理,比如在我们Windows中的任务管理器中,可以看到各种运行中的任务信息,这些任务就可以称之为进程,简单的进程二字后面包含着许多知识,比如为什么OS需要对任务进行管理、任务信息是如何组成的、如何创建新任务等,下面我将带大家从冯诺依曼结构体系开始,理解学习进程相关知识。

2024-04-05 12:15:00 1225 1

原创 【Linux】Linux工具学习之gdb

vim 可以编写代码,gcc/g++ 可以编译代码,此时只最后一件神器,就能进行完整的开发工作,那就是通过 gdb 调试代码,毕竟谁都不敢保证自己的代码没有问题,所以就有调试器这种东西帮助我们定位问题,进而解决问题

2024-04-02 13:15:00 1976 2

原创 【C++】模板初阶

比如我们常用的两数相加函数,按照以前的写法,处理整型数据时,编写整型的方法;处理浮点型时,又得编写一个浮点型的加法,好在C++支持函数重载,使得我们可以存在同名函数,假若是C语言实现时,我们甚至要写两个不同名的相加函数

2024-03-30 10:45:00 1602 1

C语言大作业旅游项目管理

进行旅游地点,热门称呼,景点,美食,出行费用等新增,删除,修改,查找,排序,浏览信息等把握

2024-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除