C/C++
文章平均质量分 66
水亦心
这个作者很懒,什么都没留下…
展开
-
赛前必看!!NOIP竞赛及CSP认证初赛赛前辅导详细视频教程!!!
NOIP竞赛得到了越来越多人的重视,今年,NOIP竞赛继续举办,同时CSP认证在本周末也将开始。为此,我为大家准备了一套模拟题,并进行详细讲解与分析,帮助大家能更快速在赛前做好复习,取得好成绩!原创 2020-10-07 09:51:43 · 1904 阅读 · 2 评论 -
【数据结构周周练】015 利用递归算法创建链式存储的二叉树并转换左右孩子结点
一、前言哈哈,今天就是程序员节啦,祝大家1024程序员节快乐。今天要给大家分享的算法是交换二叉树是的左右孩子结点,比较简单,需要创建一个结点用来暂存左孩子结点,下面给大家送上代码。二、题目将下图用二叉树存入,并交换二叉树是的左右孩子结点。其中圆角矩形内为结点数据,旁边数字为结点编号,编号为0的结点为根节点,箭头指向的结点为箭尾的孩子结点。 不是完全二叉树 是完全...原创 2018-10-24 23:54:43 · 518 阅读 · 0 评论 -
【数据结构周周练】028 图的存储及遍历经典习题
上次是第一次分享非算法类题目,不知道大家有没有认真去思考,今天继续给大家分享几道比较经典的图的存储及遍历的题目,希望大家能够先自己做,然后再看我的分析。也希望大家能够喜欢。例题1【分析】(1)要正确区分无向图和有向图度的问题,无向图中,一个顶点的度 = 该点相连接的边的条数 = 第i个链表中结点个数。(2)、(3)邻接表与邻接矩阵各有优缺点,操作简单是针对不同的操作,不能笼统...原创 2018-11-11 22:12:19 · 1724 阅读 · 0 评论 -
【数据结构周周练】030 快速排序算法原理详解及代码分享
一、快速排序1、快速排序简介快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2、算法思想及流程排序时,选定一个元素...原创 2018-11-18 23:42:12 · 372 阅读 · 0 评论 -
【数据结构周周练】031 直接插入排序算法原理详解及代码分享
一、直接插入排序1、直接插入排序简介直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。主要有下面三个步骤: 1.查找到L(i)所在数组中的位置, 2.将该位置以后的所有元素后移 3.将L(i)复制到该位置这个算法原理是比较简单的,同时是一个稳定的算法。这个...原创 2018-11-21 23:46:17 · 523 阅读 · 0 评论 -
【数据结构周周练】032 折半插入排序算法原理详解及代码分享
一、折半插入排序1、折半插入排序简介直接插入排序是一种最简单的排序方法,简单但也慢。而折半插入排序(Binary Insertion Sort)是对直接插入排序算法的一种改进。主要有下面三个步骤: 1.从第二个元素开始插入,与前面元素中中间元素比较,即折半比较。 2.比中间元素大,同样方法比较后半部分;比中间元素小,同样方法比较前半部分;直到 low > hig...原创 2018-11-22 23:07:17 · 1487 阅读 · 0 评论 -
【数据结构周周练】033 冒泡排序算法原理详解及代码分享
一、冒泡排序1、冒泡排序简介从今天开始给大家分享几个经典的交换排序算法,今天是冒泡排序(Bubble Sort),它是一种比较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(从大到小,或从小到大,这个大小不仅仅是数值的大小,还包括位置的先后)倒置,就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。这个...原创 2018-11-29 23:39:13 · 848 阅读 · 0 评论 -
【C++练习题】求任意行列的两个矩阵的乘积(普通函数实现+类实现)
一、题目学弟问了一道题,想想好久没有写C++的题了,想着练练手,也把这道题分享给大家。我们知道用matlab实现这个代码是很容易的,毕竟玩矩阵,matlab是专业的,C++就不一样了,考虑的问题有好多,实现方法也有很多,我就把自己写的分享给大家。我们用一个两行两列的矩阵A和两行三列的矩阵B做测试:二、普通函数实现1、代码#include<iostream&...原创 2018-11-19 19:17:16 · 5533 阅读 · 0 评论 -
【C++从入门到熟练练习题】000 VS2015新建程序及输出Hello World
一、前言大学很多计算机相关专业的基础课都会有C++,C++是比较经典的编程语言,编程语言一定不是看出来的,而是敲代码敲出来的。所以会给大家不定期分享一些C++练习题。在下一次的练习题中,会给出这次的答案,希望大家能够喜欢,也希望大家能够多提意见,一起学习。作为第一篇博客,因为有很多同学对VS2015使用不熟练或者刚开始接触,所以就讲的细致一些,把VS新建程序也说一下。作为C++第一篇练...原创 2018-12-27 00:15:00 · 2906 阅读 · 25 评论 -
【数据结构基础笔记】第二章线性表之单链表
目录一、简要1、涵盖内容2、学习要求二、导入三、线性链表1、链式存储结构2、注意点四、单链表1、单链表优点2、单链表缺点3、结点类型描述4、注意点五、单链表的实现1、链表的创立2、链表的操作3、代码应用一、简要好久没有写基础笔记了,当时为了写基础笔记是为了能重新巩固数据结构,后来因为考研,就改成了数据结构周周练,但是很多同学看...原创 2019-01-04 12:33:18 · 3517 阅读 · 1 评论 -
【数据结构周周练】029 判断无向图是否为一棵树算法原理详解及代码分享
一、题目设计一个算法,判断一个图G是否为一棵树,如果是,返回TRUE,否则,返回FALSE。二、美丽的星座星座真的好美好美。特别是当人类给它们赋予含义的那一刻,更美,仿佛有了灵魂一般。 是不是很美,是不是?你以为我是让你过来看星星的吗?你以为我是希望你以后能够好好学习天文学知识的吗?当然不仅仅是这样啦!细心的你应该知道星星多么像我们学的图啊!!!三、分析敲黑板!...原创 2018-11-13 21:33:33 · 12352 阅读 · 29 评论 -
【数据结构周周练】034 奇偶排序算法原理详解(上海大学832计算机组成原理与数据结构原题)
一、冒泡排序1、奇偶排序简介奇偶排序算法不是严蔚敏老师书上的算法,是今年上海大学计算机考研(832计算机组成原理与数据结构)的一道考试题,听朋友说了之后感觉很不错,给大家分享一下。题目大致含义如下:已知奇偶交换排序如下所述:1.第一趟对序列中所有奇数项i扫描,将a[i]和a[i+1]进行比较;2.第二趟对序列中所有偶数项i扫描,将a[i]和a[i+1]进行比较。3.每次比...原创 2018-12-25 18:44:45 · 5211 阅读 · 6 评论 -
【数据结构周周练】023 将图的邻接表表示转化为邻接矩阵表示的算法
一、图的存储结构昨天给大家讲了图的存储结构,一共有四种,邻接表,邻接矩阵,十字链表以及邻接多重表,每个表都有自己的特色以及用途。今天要给大家分享的是将一个用邻接表表示的图转为邻接矩阵表示,我们知道,邻接矩阵中,存储形式比较简单,普通的邻接矩阵只有0和1,0表示两个节点之间没有边,1表示有边。所以我们要遍历邻接表的每一个结点,得到它的边表,通过其next指针域获得与之相邻的所有边,并在矩阵中...原创 2018-11-05 21:19:12 · 4472 阅读 · 0 评论 -
【数据结构周周练】026 折半查找算法及与顺序查找算法对比分析
一、前言上一篇博客讲了有关于查找的概念及顺序查找算法,这次我们再讲解一种新的静态查找算法,大家还记得什么是静态查找吗?相信大家应该记得,如果大家印象不太深刻,可以看一下上一篇博客:【数据结构周周练】025 查找算法详解及顺序查找算法实现。简单说,静态查找就是只查找,不修改。上次我们说适合静态查找的有顺序查找和折半查找等,今天就给大家讲述一下折半查找。细心的小伙伴们发现了,我在讲顺序查找的博...原创 2018-11-07 23:01:47 · 6274 阅读 · 0 评论 -
【数据结构必备基本知识】数据结构常用预定义常量、类型及头文件
数据结构中我们经常要用到很多预定义的常量,如果每次自己输入,那就比较麻烦啦,在这里,给大家把常用的预定义常量分享出来,下次再用到,直接复制粘贴就好啦。一、常用头文件首先自然是常用头文件,因为作者是学C++,没有系统学习过C语言,所以一般用的是iostream,输入输出用的是cin和cout。#include<iostream>#include<malloc.h&g...原创 2018-10-27 21:43:10 · 3781 阅读 · 3 评论 -
【数据结构周周练】020 二叉排序树的排序与迭代查找
一、二叉排序树二叉排序树可以说是数据结构中相当重要的内容之一啦,昨天给大家讲了二叉排序树的创建与遍历,包括原理以及代码。今天给大家分享的是二叉排序树的排序与查找。二叉排序树排序从小到大排序就是中序遍历,我们通过递归来实现。二叉排序树的特点大家都知道,左子树结点值<根结点<右子树结点,所以二叉排序树的查找原理很简单,判断当前值与查找值的关系,查找值大,查找右子树,查找值小,...原创 2018-10-30 22:36:31 · 471 阅读 · 0 评论 -
【数据结构周周练】021 求某一个数据在二叉排序树中的层数
一、二叉排序树今天给大家分享的是二叉排序树的应用,判断一个数据在二叉排序树中的层数。我们这个算法原理比较简单,就是循环做判断,当数据小于树中结点数据时,判断左子树;大于树中结点数据时,判断右子树;等于树中结点数据时,输出;当查找到树为空还找不到时,返回错误。下面就是我们给定的二叉排序树及所有的代码。二、示例给定一个数据,判断该数据是否为二叉排序树中的数据并求其所在层数。其中圆角...原创 2018-11-01 21:46:45 · 1282 阅读 · 0 评论 -
【数据结构必备基础知识】之图的基本概念详解
一、前言从今天开始就给大家分享有关于图的概念和代码啦,不知道大家有没有看够树的相关内容呢?以后还会慢慢给大家再分享的,代码要一遍一遍过,一轮一轮学习。第一轮树就先到这里,等第二轮还会给大家分享的。图应该是数据结构中处于霸王地位的一部分了,图会涉及到图论的相关知识,咱们现在还涉及不到,等到以后分享数学基础,讲离散数学的时候,会给大家分享有关图论的内容。为什么称图是霸王地位呢?因为图应该是...原创 2018-11-03 23:39:36 · 21132 阅读 · 13 评论 -
【数据结构周周练】024 图的经典遍历算法之深度优先搜索、广度优先搜素
一、图的遍历算法简述上两篇博客给大家讲了图的存储结构:邻接表,邻接矩阵,十字链表以及邻接多重表以及邻接表转化为邻接矩阵的方法。在周周练里,我们只讲了图的算法原理,并没有具体的实现过程,因为我们周周练是一个循序渐进的过程,我们先给大家分享一些基础的内容,然后再逐步深化。今天要给大家分享的是图的两种遍历算法,深度优先搜索和广度优先搜索,当然以理论为主,同时给大家讲解算法原理以及算法内容,并没有...原创 2018-11-06 21:58:02 · 617 阅读 · 0 评论 -
【数据结构周周练】027 图的基本概念及存储经典习题
有人跟我私聊说能不能分享一些算法以外的练习题呢?毕竟数据结构不仅仅是代码。我觉得他说的对,前段时间刚刚开始分享有关于图的内容,但是由于刚刚开始,不宜出难度太大的题,分享的代码比较少,所以,这些练习题呢,我们先从图分享开始。希望大家能够喜欢。今天给大家分享的是几道比较经典的题目,希望大家能够先自己做,然后再看我的分析。例题1例题1【分析】(1)所有顶点有入度,出度,且无向图的所有顶...原创 2018-11-09 23:48:37 · 494 阅读 · 0 评论 -
【数据结构周周练】022 从大到小输出二叉排序树中小于某个值的所有结点编号及数据
一、二叉排序树今天给大家分享的是二叉排序树的应用,从大到小输出二叉排序树中小于某个值的所有结点编号及数据。我们知道,我们做中序遍历时,先访问左子树,再访问根节点,最后访问右子树;通过中序遍历会得到一个递增的序列。该应用要求得到从大到小,一个递减的序列,我们可以通过先访问右子树,再访问根节点,最后访问左子树,就可以得到一个递减的序列。当然我们还可以使用中序遍历,将数据存到栈中输出,就可以...原创 2018-11-02 21:12:30 · 4215 阅读 · 0 评论 -
【数据结构必备基本知识】图的存储结构(邻接矩阵、邻接表、十字链表、邻接多重表)详解
上篇博客讲到,图状结构是非常复杂的结构,图也是非常复杂的,所以图的存储就是一个非常重要的部分,因为我们不仅要表示顶点集,还要表示边集,如何完整准确的表示图呢,接下来,给大家讲解四种图的存储方式。一、邻接矩阵法1、定义我们用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵。设G=(V,E)是一个图,其中V={v1,v2...原创 2018-11-04 22:59:46 · 15283 阅读 · 0 评论 -
【数据结构周周练】025 查找算法详解及顺序查找算法实现
前言从今天开始就给大家分享有关于查找的算法啦,查找是数据结构算法中比较重要的部分,我们在很多软件中都能接触到查找,包括我们从小查词典的过程,就是查找的过程,那个时候,我们有拼音查,有笔画查,偏旁部首查等等。那个时候或许我们并没有查找效率的概念,但是我们都会考虑到,怎样查找,我们查的最快。其实那个时候,分块查找以及如何提升查找效率的应用已经被我们所熟练掌握。一、查找1、什么是查找?在...原创 2018-11-07 21:18:49 · 1167 阅读 · 0 评论 -
【opencv学习笔记】002之加载图像imread、修改图像cvtColor、显示图像imshow及保存图像imwrite
目录一、前言二、图像基本操作1、加载图像CV :: imread2、创建窗口cv::namedWindow3、显示图像CV :: imshow4、修改图像 (cv::cvtColor)5、保存图像 (cv::imwrite)三、全部代码及结果展示1、代码2、运行效果图一、前言从今天开始,我会逐步把自己系列类型的博客进行完善,有很多人催我抓紧写数据结构...原创 2018-12-26 01:21:23 · 5198 阅读 · 18 评论 -
C++ 之 几种暂停黑窗口的方法
目录一、问题描述二、解决方法1.利用VS自己解决2. system("pause");3.添加等待输入语句一、问题描述很多同学在利用VS系列软件编程时,点运行,会发现,咦?黑窗体一闪就退出了。有些时候,我们是希望它能停留下来,让我们“多看几眼”。怎么办呢?我这里有几种方法跟大家分享一下。二、解决方法1.利用VS自己解决点击调试,选择 开始执行(不...原创 2019-01-21 07:49:24 · 16375 阅读 · 0 评论 -
【C++从入门到熟练练习题】007 选择语句if-else、switch-case
目录一、前言1、上节课回顾二、重点知识介绍1、选择语句2、条件语句3、开关语句三、例题1、if语句2、switch语句四、思考题1、思考题12、思考题2一、前言1、上节课回顾上一次给大家讲了C++数组,在以后的代码中,数组会经常使用到。因为是刚刚入门,不宜太难,所以没有讲太多难的地方,简单的,也不需要留思考题。今天主要给大家讲的就是选...原创 2019-04-12 00:17:51 · 3882 阅读 · 13 评论 -
C++ 之 C++ 操作 json 文件(C++读写json文件)及jsoncpp配置详解
目录前言一、json文件简介1、json文件2、json与其他存储数据方式比较二、C++操作json文件1、jsoncpp 库下载2、C++从字符串中读取json3、C++从文件中读取json4、C++写入json文件5、主函数附:jsoncpp库配置1、解压并转移2、配置属性3、配置项目前言json文件是比较轻量级的文件,格式简单...原创 2019-04-16 12:49:58 · 150788 阅读 · 40 评论 -
【C++从入门到熟练练习题】006 数组
一、前言1、上节课回顾上一次给大家讲了C++表达式与运算符优先级,表达式和优先级是很重要的内容,这回贯穿未来C++的学习中,当然如果优先级你不太确定,可以使用()来控制优先级,但是结合顺序就一定要掌握啦。想要学好,最好的方式就是多想,多练习。今天主要给大家讲的就是数组,数组很重要,很重要,有些内容比较简单,但是有些也比较难,因为是入门开始,我们不会说太难的。2、上节思考题...原创 2019-04-10 01:13:54 · 787 阅读 · 0 评论 -
【C++】大学C++视频课程,通俗易懂,全部免费。
编程界的霸主——C++C++是很多大学数学相关专业,计算机相关专业以及其他专业的专业基础课程。重要性不言而喻。对于很多想要从事软件开发的人员来说,掌握了C++,再去学习其他编程语言,会特别顺手,C++不仅仅可以支持面向过程,还支持面向对象,有着其得天独厚的优势,被誉为永不老去的编程语言。人工智能领域的兴起,带火了Python,但是这丝毫没有影响到C++的地位。当然这不是说C++的使用范围比...原创 2019-04-21 11:13:36 · 7128 阅读 · 2 评论 -
【opencv学习笔记】006之图像混合 addWeighted()函数详解
目录一、前言二、图像混合1、什么是图像混合1.图像混合介绍2.算法原理2、API:addWeighted()1.函数原型2.API参数解释三、全部代码及结果展示1、代码2、运行效果图一、前言欠下的总是要还的,继续给大家更新有关于OpenCV的教程。为什么每次开头都要先说这么一句话呢,就是为了激励自己,做一件事,不要拖,好好认认真真做下去,真的...原创 2019-04-16 23:02:06 · 4420 阅读 · 8 评论 -
【C++从入门到熟练练习题】008 循环语句while、for
一、前言1、上节课回顾上一次给大家讲了C++的选择语句,在以后的代码中,数组会经常使用到。因为是刚刚入门,不宜太难,所以没有讲太多难的地方,简单的,也不需要留思考题。今天主要给大家讲的就是各种语句,包括选择语句和循环语句。二、重点知识介绍1、作用域作用域,顾名思义,就是变量能作用的范围。比如古代的将领,兵马大元帅能够统领所有士兵,下面的一个先锋只能管自己手底下那几个人...原创 2019-04-22 08:29:41 · 5146 阅读 · 6 评论 -
【opencv学习笔记】007之图像亮度与对比度
目录一、前言二、访问像素1、什么是访问像素2、Vec3b与Vec3f三、图像亮度与对比度1、算子2、点操作-亮度与对比度四、全部代码及结果展示1、代码2、运行效果图一、前言今天不废话了,因为吃一堑,长一智,现在已经养成了定期完善博客的习惯,等坚持不下去的时候,再用鸡汤来鞭策自己。今天要讲的是图像对比度与亮度的调整。如果想看其他有关于OpenC...原创 2019-04-18 23:58:01 · 1603 阅读 · 7 评论 -
【opencv学习笔记】008之绘制形状(直线、矩形、椭圆、圆)与文字
一、前言今天要讲的是图像对比度与亮度的调整。如果想看其他有关于OpenCV学习方法介绍、学习教程、代码实战、常见报错及解决方案等相关内容,可以直接看我的OpenCV分类:【OpenCV系列】:https://blog.csdn.net/shuiyixin/article/category/7581855如果你想了解更多有关于计算机视觉、OpenCV、机器学习、深度学习等相关技术...原创 2019-04-20 00:00:20 · 1792 阅读 · 2 评论 -
【opencv学习笔记】009之图像线性滤波原理与操作(方框滤波、均值滤波、高斯滤波)
目录一、前言二、图像滤波1、图像滤波2、线性滤波器三、OpenCV中的线型滤波操作1、方框滤波——boxblur函数2、均值滤波——blur函数3、高斯滤波——GaussianBlur函数一、前言今天要讲的是图像线性滤波原理与操作,图像滤波包括线性滤波与非线性滤波,今天我们要讲的是线性滤波,包括方框滤波、均值滤波与高斯滤波。如果想看其他有关于OpenCV...原创 2019-05-14 22:57:36 · 2689 阅读 · 2 评论 -
【C++从入门到熟练练习题】005 表达式与运算符优先级
目录一、前言1、上节课回顾2、上节思考题答案二、重点知识介绍1、表达式1.什么是表达式2.运算符3.常见表达式2、C++常用运算符优先级1.运算符优先级表2.重点说明3.短路4.示例三、思考题一、前言1、上节课回顾上一次给大家讲了strlen和sizeof的区别,不仅仅在期末考试中,在以后写代码的过程中我们也会经常用到这两个来计算...原创 2019-04-05 00:23:23 · 3187 阅读 · 14 评论 -
【C++从入门到熟练练习题】004 strlen和sizeof的区别详解
目录前言上节课回顾一、作用介绍二、区别1.字符串不设置长度2.提前定义长度3.字符中含有空字符时三、注意点四、思考题前言上节课回顾上一次给大家讲了C++常量与作用域,因为代码比较简单并且代码不唯一,就不给大家统一答案啦。今天主要给大家讲的是sizeof运算符和strlen的区别。为了让大家能够更加清晰的了解其区别,在这里不讲废话,通过不同的实...原创 2019-04-04 23:21:42 · 478 阅读 · 13 评论 -
【 PCL点云库笔记01基本用法】001 之 Win10+VS2015+PCL_1.8.0配置
一、前言最近在学习点云库,由于刚刚入门,很多东西也不是很了解,如果大家有什么问题,都可以跟我沟通交流。除了通过博客交流外,欢迎你加入我的QQ群(326866692),一起交流有关于机器学习、深度学习、计算机视觉的内容。目前我并未确定具体的研究方向,所以现在处于广泛涉猎阶段,希望我们能够一起沟通。下图是我的群二维码:今天要分享的是PCL配置。1、PCL简介PCL(Point Cl...原创 2019-03-11 16:52:45 · 1599 阅读 · 1 评论 -
【C++从入门到熟练练习题】001 iostream头文件区分与C++常用变量的定义
目录一、前言1.上节课回顾2.关于 iostream 和 iostream.h3.上节思考题答案二、重点知识介绍1.定义变量2.代码的换行三、例题:定义两个整型变量a,b,并将他们输出。1.代码2.运行结果四、思考题一、前言1.上节课回顾上一次给大家讲了输出“Hello World”,这个程序是入门C++的第一个程序。同学们在练习过程中,写的...原创 2019-01-21 17:30:06 · 904 阅读 · 23 评论 -
【C++从入门到熟练练习题】002 C++数据类型及C++注释
目录一、前言1.上节课回顾2.上节思考题答案二、重点知识介绍1.关于变量2.修饰符3.typedef 声明4.枚举类型5.注释三、例题:1.代码2.运行结果四、思考题一、前言1.上节课回顾上一次给大家讲了C++常用变量的定义,后续的很多操作都需要我们先定义变量,然后对变量进行操作,上节课讲的变量类型是C++中最常用的类型,你也可以自己...原创 2019-01-26 21:59:28 · 1876 阅读 · 25 评论 -
【C++从入门到熟练练习题】003 C++常量(含转义字符)及C++作用域(全局及局部变量)
目录一、前言1、上节课回顾2、上节思考题答案二、重点知识介绍1、作用域2、常量三、例题四、思考题一、前言1、上节课回顾上一次给大家讲了C++数据类型还有C++注释,在以后的代码中,随着代码的增多,注释是必不可少的,它会提示我们代码功能,变量含义等等。所以我们要熟练掌握注释,我们也拓展了数据类型,数据类型是C++比较基础也比较核心的内容。想要学好,最好...原创 2019-01-31 19:26:59 · 1317 阅读 · 22 评论