摘要: 简单工厂模式 /* * 简单工厂模式 * * 优点: 帮助封装 实现组件封装,面向接口编程 解耦合 客户端和具体实现类的解耦合 缺点: 可能增加客户端的复杂度 不方便扩展子工厂 */ #include <iostream> #include <string> using namespace std; 阅读全文
posted @ 2023-12-08 19:22 水三丫 阅读(8) 评论(0) 推荐(0) 编辑
摘要: condition_variable 是 C++11 中的一个线程库类,用于实现线程间的同步和通信。condition_variable 可以与 unique_lock 或 lock_guard 一起使用,用于实现线程的等待和唤醒操作。condition_variable 的主要作用是在多个线程之间 阅读全文
posted @ 2023-12-07 18:12 水三丫 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 10.7、归并排序 了解归并排序之前,我们先来了解归并, 给定两个数组A、B,A和B都是有序的,把A和B合并为一个有序的数组,其实我们就可以采用双指针来分别指向的A和B来对比并移动指针,然后需要一个辅助数组来记录排序后的值 ==二路归并的图解== ==归并排序图解== 先对给定一个数组,进行划分为多 阅读全文
posted @ 2023-03-15 18:15 水三丫 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 10.6、堆排序 对于n个关键字序列L[1...n],满足下面某一条性质,则称为堆(Heap) 若满足:$L(2i) \le L(i)$且$L(2i+1) \le L(i)$,$1 \le i \le n$ ,==大根堆(大顶堆)== 若满足:$L(i) \le L(2i)$且$L(i) \le L 阅读全文
posted @ 2023-03-15 18:15 水三丫 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 10.5、简单选择排序 这个算法的思想很简单,每次选择从没有排序的元素中选择最小(大)元素放到到前(后)面 简单选择排序是不稳定的 ==简单选择排序代码实现== #include <stdio.h> #include <stdlib.h> #define boolean int #define fa 阅读全文
posted @ 2023-03-15 18:13 水三丫 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 10.3、快速排序 算法思想 在待排序表[1...n]中任取一个元素pivot作为枢轴(基准,通常去首元素),通过一趟排序将待排序表划分为独立的两部分L[1...k-1]和L[k+1...n],使得L[1...k-1]中所有元素小于pivot,L[k+1...n]中所有元素都大于等于pivot,则p 阅读全文
posted @ 2023-03-15 18:12 水三丫 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 10.3、冒泡排序 从后往前依次比较两个元素,如果后面小于前面就交换,每次都会寻找到其中最小的那个元素放到前面 ==冒泡排序图解== ==冒泡排序的C代码实现== #include <stdio.h> #include <stdlib.h> #define boolean int #define f 阅读全文
posted @ 2023-03-15 18:11 水三丫 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 10.2、希尔排序 希尔排序的思想就是直接插入排序的升级版本; 把待排序的数组元素分为n个部分,对每个部分进行直接插入排序,然后把n减小继续重复,直到n=1时候,再进行n=1这一次就可以结束了。 注意:希尔排序不具备稳定性。 ==希尔排序的图示== ==希尔排序的代码实现== #include <s 阅读全文
posted @ 2023-03-15 18:10 水三丫 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 10.1、直接插入排序 ==算法思想的图示== ==直接插入排序C代码实现== #include <stdio.h> #include <stdlib.h> #define boolean int #define false 0; #define true 1; //nums:待排序数组,lengt 阅读全文
posted @ 2022-11-15 11:29 水三丫 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 9.2、B 树 了解B树之前,先来了解一下m叉查找树 可以类比二叉查找树(排序树)的来了解m叉查找树;我们这里以5叉查找树为例子 二叉查找树有一个关键字和2个孩子,左孩子 < 根结点 < 右孩子的数据,递归下去 5叉查找树有==4个关键字==,五个孩子指针,都以数组的形式来保存;每个结点中,数组下标 阅读全文
posted @ 2022-11-11 12:02 水三丫 阅读(147) 评论(0) 推荐(0) 编辑