logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【C++】十大排序算法之 归并排序 & 快速排序

排序算法是《数据结构与算法》中最基本的算法之一。

文章图片
#排序算法#c++#算法
C++ 设计模式之代理模式

⽐如说有⼀个⽂件加载的场景,为了避免直接访问“⽂件”对象,我们可以新增⼀个代理对象,代理对象中有⼀个对“⽂件对象”的引⽤,在代理对象的 load ⽅法中,可以在访问真实的⽂件对象之前进⾏⼀些操作,⽐如权限检查,然后调⽤真实⽂件对象的 load ⽅法,最后在访问真实对象后进⾏其他操作,⽐如记录访问⽇志。代理模式可以控制客户端对真实对象的访问,从⽽限制某些客户端的访问权限,此外代理模式还常⽤在访问真实

文章图片
#c++#设计模式#代理模式
C++ 设计模式之建造者模式

每个组件可能有不同的型号、配置和制造,这个时候计算机就可以被视为⼀个复杂对象,构建过程相对复杂,⽽我们使⽤建造者模式将计算机的构建过程封装在⼀个具体的建造者类中,⽽指导者类则负责指导构建的步骤和顺序。同时有⼀个指导者类负责协调建造者的⼯作,按照⼀定的顺序或逻辑来执⾏构建步骤,最终⽣成产品。对应的,建造者模式适⽤于复杂对象的创建,当对象构建过程相对复杂时可以考虑使⽤建造者模式,但是当产品的构建过程发

文章图片
#c++#设计模式#建造者模式
【C++】十大排序算法之 堆排序 & 计数排序

排序算法是《数据结构与算法》中最基本的算法之一。

文章图片
#排序算法#c++#算法
C++设计模式之 模板方法模式

-什么是模板方法模式(第18种设计模式)模板方法模式(Template Method Pattern)是⼀种行为型设计模式, 它定义了⼀个算法的骨架,将⼀些步骤的实现延迟到⼦类。模板方法模式使得⼦类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。准备⻝材亨饪过程上菜不同菜品的亨饪过程是不⼀样的,但是我们可以先定义⼀个”⻣架”,包含这三个步骤,亨饪过程的过程放到具体的炒菜类中去实现,这样,⽆

文章图片
#c++#设计模式#模板方法模式 +1
C++ 设计模式之命令模式

命令模式同样有着很多现实场景的应用,⽐如Git中的很多操作,如提交(commit)、合并(merge)等,都可以看作是命令模式的应⽤,用户通过执⾏相应的命令来操作版本库。例如,每个按钮都有⼀个关联的 Action ,它代表⼀个命令,按钮的点击触发 Action 的执⾏。举个现实中的应⽤场景,遥控器可以控制不同的设备,在命令模式中,可以假定每个按钮都是⼀个命令对象,包含执⾏特定操作的命令,不同设备对

文章图片
#c++#设计模式#开发语言 +2
C++ 设计模式之观察者模式

主题只需要关注⾃⼰的状态变化,⽽观察者只需要关注在主题状态变化时需要执⾏的操作,两者互不⼲扰,并且由于观察者和主题是相互独⽴的,可以轻松的增加和删除观察者,这样实现的系统更容易扩展和维护。小明所在的学校有一个时钟(主题),每到整点时,它就会通知所有的学生(观察者)当前的时间,请你使用观察者模式实现这个时钟通知系统。,让多个观察者对象同时监听⼀个主题对象,当主题对象的状态发⽣变化时,所有依赖于它的观

文章图片
#c++#设计模式#观察者模式
C++ 设计模式之外观模式

举个例⼦,假设你正在编写的⼀个模块⽤来处理⽂件读取、解析、存储,我们可以将这个过程拆成三部分,然后创建⼀个外观类,将⽂件系统操作、数据解析和存储操作封装在外观类中,为客户端提供⼀个简化的接⼝,如果后续需要修改⽂件处理的流程或替换底层⼦系统,也只需在外观类中进⾏调整,不会影响客户端代码。外观模式通过提供⼀个简化的接⼝,隐藏了系统的复杂性,降低了客户端和⼦系统之间的耦合度,客户端不需要了解系统的内部实

文章图片
#c++#设计模式#外观模式
C++ 设计模式之适配器模式

小明购买了一台新电脑,该电脑使用 TypeC 接口,他已经有了一个USB接口的充电器和数据线,为了确保新电脑可以使用现有的USB接口充电器和数据线,他购买了一个TypeC到USB的扩展坞。请你使用适配器模式设计并实现这个扩展坞系统,确保小明的新电脑既可以通过扩展坞使用现有的USB接口充电线和数据线,也可以使用TypeC接口充电。(可以把适配器模式理解成拓展坞,起到转接的作⽤,原有的接⼝是USB,但

文章图片
#设计模式#适配器模式#c++
到底了