C++
文章平均质量分 56
三又三分之一年
通信软件攻城狮一枚,主攻3gpp通信协议、C++算法
展开
-
利用c/c++代码实现“求 1-1/2 + 1/3 - 1/4 + ....... + 1/n 的和”
利用c/c++求 1-1/2 + 1/3 - 1/4 + ....... + 1/n 的和原创 2023-06-05 23:08:56 · 1547 阅读 · 1 评论 -
快速排序(C++)
快速排序(C++)前面三节写了3种基本的排序算法,算法思想简单,但是时间复杂度高,不适合用于大规模序列排序。接下来我将介绍三种牛逼排序法,时间复杂度低,速度快。快速排序思想:在序列中找到基准值位置,把比基准值小的数放在基准值的左边,比基准值大的数放在基准值右边。实现方法:这里采用的是递归方法实现。实现步骤:1.取出一个元素 p (第一个元素),设法找出 p 的基准位置2.序列内 p 分成两部分,左边的元素都比 p 小,右边的元素都比 p 大3.递归实现快速排序时间复杂度:平均情况O(nlog原创 2020-09-24 16:38:03 · 153 阅读 · 0 评论 -
选择排序(C++实现)
选择排序(C++实现)前一节写了插入排序算法,这节来说下选择排序算法。选择排序算法的时间复杂度和冒泡排序、插入排序一样,都是O(n^2)。选择排序算法思路:一趟排序记录最小的数,放到第一个位置;再一趟排序记录列表无序区最小的数,放到第二个位置;以此类推… …算法关键点:有序区和无序区、无序区最小数的位置下面是具体实现代码:#include <iostream>using namespace std;//两数交换template<class T>void MySwa原创 2020-09-24 16:16:27 · 2721 阅读 · 0 评论 -
插入排序(C++实现)
插入排序(C++实现)前一节写了冒泡排序算法,这节来说下插入排序算法。插入排序算法的时间复杂度和冒泡排序一样,都是O(n^2)。插入排序算法的思想是:将整个数组a分为有序和无序的两个部分。前者在左边,后者在右边。开始有序的部分只有a[0] , 其余都属于无序的部分。每次取出无序部分的第一个(最左边)元素,把它加入有序部分。假设插入合适的位置p,则原p位置及其后面的有序部分元素都向右移动一个位置,有序的部分即增加了一个元素。一直做下去,直到无序的部分没有元素。具体代码实现如下:// An highl原创 2020-09-24 15:58:34 · 563 阅读 · 0 评论 -
冒泡排序(C++实现)
冒泡排序(C++实现)排序算法是数据结构与算法中的基础,排序算法常见的有冒泡排序法,插入排序法,选择排序法,快排,堆排,归并排序,桶排等。本篇主要使用C++实现冒泡排序,其余排序算法在后续的章节中一一实现。冒泡排序的思想:对所有相邻记录的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到有序化。下面给出冒泡排序完整算法删除文本引用文本H2O is是液体。210 运算结果是 1024。...原创 2020-09-24 15:41:43 · 1226 阅读 · 0 评论 -
C++编程时#ifdef _WIN32的作用
这里写自定义目录标题C++编程时#ifdef _WIN32的作用C++编程时#ifdef _WIN32的作用我们在使用VS进行C++编程时经常会遇到#ifdef _WIN32xxxxxxx#elsexxxxx#endif这样的写法。我们的代码有时需要在Windows系统下运行,有时需要在Linux系统下运行,那么这时代码的可以移植性就显得很重要,这种写法就是为了方便代码在不同的平台...原创 2020-03-22 18:17:16 · 7568 阅读 · 1 评论