![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 85
平夕1009
这个作者很懒,什么都没留下…
展开
-
C++必掌握知识点
C++必掌握知识点1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应,free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不原创 2022-03-16 01:19:56 · 1683 阅读 · 0 评论 -
数据结构与算法:归并排序(递归实现)
最近有点忙,所以有几天没接着更新,今天接上。这次是归并算法,这个算法我的理解是属于一种化整为零的思路,即把一个序列一分为二,然后依次对拆分开的两个序列继续拆分,以此类推,直至每个序列只剩一个元素,然后再对每一段进行合并成一个有序序列的过程,就是一个拆分整合的过程。本次我使用递归的方法实现的,话不多说,直接上代码:/*********** 归并排序 ***********//******** 千万注意边界条件 ********/int Merge(double *SR, double *TR, i原创 2020-09-23 02:24:00 · 230 阅读 · 0 评论 -
数据结构与算法:堆排序
当初学习堆排序的时候以为是多大的洪水猛兽,但实质上去学习的时候,其实堆排序的原理很简单,就是一个堆建好后,拿去根节点(因为大顶堆/小顶堆中根节点最大/小),然后剩下的元素再建成一个堆,重复上面的过程,不断取出根节点剩下的节点再建堆,直至最后当所有的节点都被取出之后就成有序的了。/*********** 堆排序 ***********/void Swap(double &arr1, double &arr2){ double temp = arr1; arr1 = arr2;原创 2020-09-12 01:38:58 · 105 阅读 · 0 评论 -
数据结构与算法:从插入排序到希尔排序
数据结构与算法:从插入排序到希尔排序学完插入排序和希尔排序之后,我才恍然大悟,希尔排序就是插入排序的进阶版所以如果想写一个希尔排序,可以先写一个插入排序,然后加上一个增量increment具体做法为将插入排序的递增或者递减1换成增量increment如下是一个插入排序/*********** 插入排序 ***********/int InsertSort(double *arr, int arrLenth){ int i, j; for (i = 0 ; i < arrLenth -原创 2020-09-10 02:59:10 · 127 阅读 · 0 评论