自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C++STL算法汇总-慢慢完善

非修改序列操作函数:这类函数不会修改原始序列,主要包括查找、计数、比较、判断等操作,例如find、count、equal等。修改序列操作函数:这类函数会修改原始序列,主要包括删除、替换、旋转、排序等操作,例如remove、replace、reverse、sort等。变异序列操作函数:这类函数会修改原始序列,并返回一个新的序列,主要包括拷贝、移动、填充、生成等操作,例如copy、move、fill、generate等。

2023-03-07 13:54:39 279

原创 设计模式-原型模式

原型模式是一种创建型设计模式,它允许使用者通过复制现有对象来创建新对象,而无需知道创建新对象的细节。在实现原型模式时,我们需要定义一个原型抽象类或接口,它包含了用于复制对象的抽象方法,然后我们再定义具体的原型类来实现这个抽象方法,从而实现对象的复制。通过使用原型模式,我们可以避免在创建新对象时重新编写大量的代码,而只需要复制现有对象的属性和方法即可。在上面的代码中,我们定义了一个原型抽象类。函数来创建它们的副本,最后通过副本对象的。,并重写了它的两个纯虚函数。函数来验证它们的类型和功能。

2023-03-07 23:03:56 100

原创 设计模式-策略模式

策略模式是一种行为型设计模式,它定义了一系列算法,将每个算法都封装起来,并使它们可以互换。函数中,我们可以创建不同的策略对象,并将它们传递给。类执行的具体算法不同,这就是策略模式的作用。在上面的示例中,我们定义了一个策略接口。对象作为参数,并在内部保存该对象。方法,它调用当前保存的策略对象的。然后我们定义了一个上下文类。,以及三个具体的策略类。方法来执行具体的算法。

2023-03-07 22:36:15 94

原创 C++ STL 容器 (慢慢完善)

C++ STL(Standard Template Library)由以下几部分组成:容器(Containers):包括 vector、list、deque、set、map 等数据结构,用于存储和管理数据。迭代器(Iterators):用于遍历容器中的元素。算法(Algorithms):包括排序、查找、合并等常用算法,用于对容器中的元素进行操作。函数对象(Function Objects):类似于函数的对象,可重载运算符,用于算法中的比较和操作。

2023-03-07 16:23:54 110

原创 C++ STL 插入迭代器适配器

使用inserter函数,我们可以指定插入位置,从而实现在指定位置插入元素的操作。STL(Standard Template Library)标准库中提供了一组插入迭代器适配器,用于将迭代器封装成插入迭代器,从而使得容器中的元素可以通过迭代器进行插入操作。插入迭代器适配器是一种迭代器适配器,它可以将赋值操作转换为插入操作,使得我们可以通过迭代器来向容器中插入元素。总之,插入迭代器适配器是一种非常方便的STL组件,通过它们,我们可以使用迭代器来向容器中插入元素,而无需手动进行内存分配和元素复制操作。

2023-03-07 15:56:16 218

原创 java反射实例

通过java语言中的反射机制可以操作字节码文件(可以读和修改字节码文件。通过反射机制可以操作代码片段。(class文件。

2023-03-07 13:58:21 55

原创 java swing相关笔记

如果希望组件是交互式且需要具有某种状态,建议使用。可以显示无法被选择的文本or image。方法②实现条理更清晰。

2023-03-07 13:57:41 59

原创 NoSQL/key-value

NoSQL(非关系型数据库)指的是一类不遵循传统的关系型数据模型,而是采用键值(key-value)、文档(document)、列族(column-family)等不同的数据结构进行存储和管理的数据库。NoSQL数据库具有高并发、高可扩展性、高可用性等特点,适用于大规模数据存储和处理场景。常见的NoSQL数据库有MongoDB、Cassandra、Redis等。不同的数据结构适用于不同的场景和需求,选择合适的数据结构可以提高数据的存储和查询效率。

2023-03-07 13:56:58 440

原创 nlohmann json 使用笔记

vscode格式化 json文件。

2023-03-07 13:56:19 193

原创 几种进程通信介绍

*进程间通讯(Interprocess Communication,IPC)**是指两个或多个进程间交换数据、信息和信号的过程。常见的进程间通讯方式有以下几种:管道(Pipe):管道是一种基于文件的进程间通讯方式,可以用于父子进程间或者兄弟进程间通讯。管道有两种类型:匿名管道和命名管道。匿名管道只能用于有亲缘关系的进程间通讯,而命名管道可以用于没有亲缘关系的进程间通讯。命名管道(FIFO):命名管道也是基于文件的进程间通讯方式,可以用于没有亲缘关系的进程间通讯。

2023-03-06 16:04:02 62

原创 TCP/UDP语音传输功能实现

这段代码实现了一个简单的音频发送器和接收器,可以把麦克风输入的音频数据通过UDP协议发送出去,并在接收端播放出来。其中,AudioFormat 和 DataLine.Info 是用于配置音频输入输出的参数,具体可以根据实际需求进行调整。start() 方法中,发送端通过读取麦克风输入的音频数据,将其存储到 DatagramPacket 对象中,并通过 DatagramSocket 发送出去;接收端通过 DatagramSocket 接收数据,并将数据写入到音频输出设备中播放。

2023-03-06 15:54:42 1125

原创 设计模式-适配器模式

适配器模式是一种非常常用的设计模式,它可以让我们在不修改现有类的情况下,将一个类的接口转换成客户端所期望的另一种接口。适配器模式可以让我们在使用现有类的同时,也能够享受到新的功能。

2023-03-05 23:28:48 35

原创 并发型模型

生产者-消费者模式管道-过滤器模式观察者模式读写锁模式信号量模式顺序执行模式线程池模式委托模式并行迭代模式并行算法模式。

2023-03-05 23:07:14 47

原创 设计模式-单例模式

在上面的实现中,我们使用了,并通过 getInstance 方法来获取该实例。由于静态变量是在程序运行时自动初始化的,因此可以保证在第一次调用 getInstance 方法时创建单例实例。此外,为了防止通过拷贝构造函数和赋值运算符创建新的实例,我们将其禁止。在多线程环境中,单例模式需要考虑线程安全性,否则可能会创建多个实例。在上面的实现中,我们使用了双重检查锁定来保证线程安全。首先,在第一次调用 getInstance 方法时,如果实例未被创建,多个线程可能会同时进入第一个 if 语句块。

2023-03-05 22:53:34 39

原创 设计模式-发布订阅模式

在 main 函数中,我们创建了一个发布者和三个用户,并让用户订阅不同的主题。然后,我们向不同的主题发布消息,从而测试发布/订阅模式的实现。,继承自订阅者类,提供了订阅/取消订阅主题的方法,以及具体的更新方法,用于接收发布者发送的消息。,提供了抽象的 update 方法,用于接收发布者发送的消息。,提供了添加/删除订阅者和发布消息的方法。

2023-03-05 22:40:18 110

原创 设计模式-创建模式-工厂模式

用游戏开发的例子来举例在某游戏中,需要设计3中怪物,金、木、水三种怪物。他们都继承自Monster 基类。

2023-03-05 20:32:28 69

原创 可扩展java游戏框架实践之java飞机大战

【代码】java飞机大战 项目。

2022-10-12 19:58:39 494

原创 算法刷题-数组-3移除元素类

算法刷题-数组-移除元素类

2022-09-16 10:27:15 76

原创 算法刷题-数组-2二分查找类

数组 二分查找相关刷题

2022-09-16 10:25:49 54

原创 压缩小工具 哈夫曼算法

压缩解压 使用哈夫曼树

2022-08-29 19:37:12 354 1

原创 二叉树遍历

二叉树相关算法和刷题

2022-08-29 16:26:42 112

空空如也

空空如也

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

TA关注的人

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