- 博客(9)
- 收藏
- 关注
原创 数据结构与算法-排序算法
希尔排序(Shell Sort)是插入排序的一种更高效的改进版本。希尔排序是把记录按不同的步长分组,对每组使用直接插入排序算法排序,随着步长逐渐缩小,整个序列将逐渐变为有序。将第一个元素与第二个元素比较,若逆序则交换;依此类推,直至第n-1个元素和第n个元素比较为止——个记录开始,逐个将每个元素插入到元素前面的有序子序列中去。第二趟冒泡排序,结果使次大的元素被安置在第n-1个位置。快速排序将所给元素划分成两部分,其中一部分的元。素比另一部分的元素小,然后再分别对这两部分元素。记录本身是基本有序的。
2024-08-31 17:10:18
391
原创 数据结构与算法--分块查找--pair类型
pair` 在标准库中广泛使用,特别是在容器如 `std::map` 和 `std::multimap` 中,这些容器的元素类型通常是 `std::pair<const Key, Value>`。在这个例子中,`vec` 是一个包含 `pair` 的向量,`std::sort` 默认按照 `pair` 的第一个元素进行排序。- **减少比较次数**:对于大型数据集,分块查找可以显著减少比较次数,因为它首先在索引中进行查找,而不是直接在数据集中查找。1. **确定块大小**:首先,确定每个块包含多少元素。
2024-08-29 16:54:35
1203
原创 sort()函数
sort()` 可以对几乎所有类型的序列进行排序,包括数组、`std::vector`、`std::list`、`std::deque` 等。这里的 `ForwardIterator` 是指向序列中元素的迭代器,`Compare` 是一个比较函数或函数对象,它接受两个参数并返回一个布尔值,指示第一个参数是否应该在第二个参数之前。- 默认情况下,`sort()` 使用`std::less<T>`作为比较函数,其中 `T` 是序列中元素的类型,这会导致元素按升序排序。### 使用自定义比较函数。
2024-08-29 15:54:53
409
原创 数据结构与算法-二分查找
顺序查找表的查找算法简单, 但平均查找长度较 大,特别不适用于表长很长的查找表。若以有序表表示静态查找表,则查找过程可以基于“: 查找表的元素已按从小到大的顺序排列。二分查找(折半查找)算法。
2024-08-29 15:14:43
202
原创 学习记录 单元测试-桩函数
else {:记录桩函数被调用的情况。:检查当前测试用例是否是指定的测试用例。如果是,则返回-1,模拟fputs失败。否则,调用实际的fputs函数。:检查是否有注册的回调函数。如果有回调函数,使用调用回调函数。回调函数可以进一步自定义桩函数的行为。
2024-07-11 11:08:24
780
原创 学习记录 C++ goto语法
在C++中,`goto`语句是一种跳转语句,允许程序直接跳转到指定的标签位置。虽然`goto`语句在某些情况下可能会简化代码,但它通常被认为是不好的编程实践,因为它会使代码难以阅读和维护。若未执行goto label,任然会进入label段执行。
2024-07-11 10:02:45
386
原创 学习记录 C++中‘::’的使用情况
#include <iostream>int value = 10; // 全局变量void example() { int value = 20; // 局部变量 std::cout << "Local value: " << value << std::endl; // 输出局部变量 std::cout << "Global value: " << ::value << std::endl; // 输出全局变量 }int main() { example();
2024-07-10 10:03:33
465
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅