自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 哈希应用——海量数据处理

2024-02-02 18:53:43 122

原创 STL库LIst实现

list是一个双向链表,不支持随机访问,只支持双向迭代。在链表开头和结尾进行插入和删除操作的时间复杂度为O(1)。内存使用通常比其他STL容器更有效。

2023-12-16 22:35:30 425 1

原创 STL库vector模拟实现

vector优点动态扩展:vector容器可以根据需要自动扩展其容量,以容纳更多的元素。这使得vector可以避免预先分配固定内存空间的限制,更加灵活和高效。随机访问:vector容器的迭代器支持随机访问,这使得访问元素时具有很高的效率。插入和删除操作的高效性:在尾部插入或删除元素时,vector容器的时间复杂度为O(1),而在头部或中部插入或删除元素时,时间复杂度为线性阶O(n)。这使得vector在处理大量数据时具有很高的效率。支持多种操作:vector容器提供了许多操作

2023-12-08 12:50:07 476

原创 STL库string模拟实现

在C++中,string是一个类模板,定义在头文件中,提供了对字符串的封装和操作。它实现了动态内存分配和复杂的字符串操作下面是一些常用的string类成员函数:构造函数:可以用于创建和初始化string对象,包括默认构造函数、用C字符串或另一个string对象初始化的构造函数等。赋值操作符:可以将另一个string对象、C字符串或字符赋值给当前string对象,包括=、+=、append等操作符。访问和修改字符:可以使用下标运算符[]、at()等访问单个字符,也可以使用insert()、er

2023-12-06 13:18:51 601 1

原创 C语言实现单链表

SLTNode;//打印//尾插//头插//尾删//尾删//查找//在pos位置之后插入一个节点//在pos元素之前插入一个节点//删除元素为pos的节点//删除pos后一个位置的节点//销毁。

2023-12-04 22:06:33 622

原创 C/C++内存管理详解

既然有了malloc和free,那么new和delete意义何在?对于内置类型,他们的效果是一样的对于自定义类型,malloc只申请空间,失败返回0;new申请空间+调用构造函数初始化,失败抛异常;free只释放空间,delete释放空间+调用析构函数。

2023-11-18 14:18:41 193 1

原创 C语言实现快速排序和归并排序

快速排序最坏的情况(在接近有序或有序时)是每次选的key都是最大或最小的,时间复杂度是O(N^2);最好的情况是每次都选的key都是中位数,时间复杂度是N*logn

2023-11-16 17:25:24 243 1

原创 C语言实现排序算法

直接插入排序时间复杂度O(N^2),空间复杂度O(1),最好情况是有序或接近有序,最差情况是逆序,有序时比希尔排序更好希尔排序(缩小增量排序,其优化了直接插入排序)中,gap(一般为3)越大,前面大的数据可以越快到后面,后面小的数可以越快到前面。缺点是gap越大越不接近有序,若gap=1等于直接插入排序。希尔排序时间复杂度O(N^1.3~N^2)

2023-11-08 13:27:44 188 1

原创 数据结构——二叉树(C语言实现)

完全二叉树中节点度为1的最多有1个,没有左孩子就没有右孩子树的结构定义是递归,任何一棵树都可以看成三部分,根和左子树,右子树树不能构成回路或环以及孤立的点二叉树不一定有两个子树,有可能为空满二叉树必须是全满的,完全二叉树前K-1层都是满的,最后一层可以不满,但必须从左到右连续

2023-10-31 22:19:37 407 1

原创 数据结构——堆(C语言实现)

逻辑结构是完全二叉树,物理结构是数组(其适合用数组存放),堆一定是完全二叉树,大(根)堆中每个父亲都大于等于孩子,(根)堆顶是最大值;小(根)堆中父亲都小于等于孩子,(根)堆顶是最小值;小(大)堆向下或上调整算法要求:调整的树的左右子树都是小(大)堆

2023-10-30 20:28:54 291 1

原创 数据结构——队列(C语言实现)

队列是先进先出,后进后出,其在队尾入数据,队头出数据,队列用数组表示(设计复杂,需要挪动数据),推荐用链表实现。

2023-10-24 21:45:57 213 1

原创 数据结构——栈(C语言数组实现)

栈:是一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除 操作的一端称为栈顶,另一端称为栈底。栈的性质先进后出,后进先出,这是针对栈内的数据而言的。栈没满也可以出栈

2023-10-23 21:21:01 358

原创 数据结构——双向循环链表(C语言实现)

双向循环链表:结构复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势。

2023-10-22 20:24:23 430 2

原创 数据结构顺序表C语言实现(无废话,代码纯享版)

采用C语言实现数据结构的顺序表

2023-10-17 13:07:08 85

空空如也

空空如也

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

TA关注的人

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