c++
红丶
Stay hungry, stay foolish.
展开
-
基于二叉堆的堆排序—C++实现
堆排序是利用堆这种数据结构而设计的一种排序算法,它的最坏,最好,平均时间复杂度均为O(nlogn),它是一种不稳定排序。这里有必要给大家解释一下排序算法的稳定性,它并不是指排序时间复杂度的不稳定,而是指排序结果的不稳定,比如A=B,排序前A在B的前面,排序后可能A在B的前面,也可能B在A的前面。这个结果是我们无法预知的,所以这个排序算法是不稳定的。首先简单了解下堆结构堆是一种完全二叉树,分为大顶堆和小顶堆。大顶堆:每个结点的值都大于或等于其左右孩子结点的值。小顶堆:每个结点的值都小于或等于其左右孩子原创 2020-05-20 15:20:30 · 1330 阅读 · 0 评论 -
归并排序—C++实现
相比于快速排序,归并排序就十分稳定,无论是最好还是最差的情况,它的时间复杂度都为O(nlogn)。归并排序同样利用了递归的思想,它的思想是把一个问题分解成多个小问题,然后一个一个解决再合并起来,这种思想对我们的工作生活也同样很有帮助,废话不多说,下面来实际看看归并排序。归并排序会将数组对半分开直到不可分割为止。然后每一个子块会排序后向上合并。与快速排序不同的是,归并排序会递归到无法分割才会开始排序,然后不停合并。下面我们来看看C++如何实现归并排序归并排序代码#include<iost原创 2020-05-16 14:36:31 · 2255 阅读 · 0 评论 -
快速排序—C++实现
三大排序相信大家都很熟悉吧。所谓三大排序,就是所谓的冒泡排序,选择排序,插入排序。但是这三种排序虽然很经典,但是我们却很少用到,归其原因,是因为效率太低了,三大排序的平均时间复杂度为O(n^2)。而今天给大家介绍的快速排序有着O(nlogn)的时间复杂度。在排序中,快速排序的效果通常较好,但是它的效率并不稳定,在最坏的情况下会退化成O(n^2)的时间复杂度。快速排序的实现思路快速排序的思想是递归,这里以升序排列为例,每一次排序都有一个基准值,在这个数左边的都比它小,在右边的都比它大。然后对其左边原创 2020-05-14 18:53:31 · 3274 阅读 · 0 评论 -
c++交互数据库,用vs也能写sql!
搭建开发环境下载源码包,并解压下载的压缩包MySQL CAPI下载在Visual Studio中新建一个项目打开项目文件所在的目录,把解压好的文件夹放到含有.cpp的文件目录下CAPI文件夹里面是这样的:导入头文件 :解决方案->属性->C/C+±>常规找到附件包含目录,将lib库的目录放入 .\CAPI\include导入lib库:解决方案->属性->链接器->常规找到附加库目录,添加./CAPI,然后确定。添加依赖项:解决方案->属性原创 2020-05-09 14:58:48 · 3151 阅读 · 1 评论 -
c++动态数组vector的使用
文章目录vector介绍vector的使用运算符重载vector的初始化的方法迭代器的使用vector的压栈出栈vector的常用方法主函数结语vector介绍Vector是一个封装了动态大小数组的顺序容器。跟任意其它类型容器一样,它能够存放各种类型的对象。里面的底层实现是一个顺序表结构可以理解为是一个能够存放任意类型的动态数组。vector的使用导入头文件#include &l...原创 2020-04-28 14:03:18 · 1311 阅读 · 0 评论 -
c++中的元组
元组用过python的朋友对元组肯定不陌生,这是python六大基础数据类型之一。那么c++中有没有这种数据类型呢?答案是有的,不过需要使用相关头文件方可使用。元组的特点元组的特性是元素值不可被修改。元组中可以存储不同数据类型的数据。c++中元组的使用#include<iostream>#include<tuple>#include<string...原创 2020-04-25 10:41:02 · 4579 阅读 · 0 评论 -
opencv的安装VS2017
安装包的下载首先下载opencv安装包,点击windows并选择安装目录(这里我选择的是E:\opencv)。下载时间可能会比较久,下载完成后如下图所示:点击解压,解压后如下图:配置环境变量复制目录E:\opencv\opencv\build\x64\vc15\bin注意这里是vc15不是vc14,参考具体对应关系鼠标右键点击计算机选择属性,选择高级系统设置选择环境变量...原创 2020-04-10 23:51:07 · 1316 阅读 · 0 评论