自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 重载运算符 继承 多态

(一)重载运算符:(1)声明与定义格式一般是类内声明,类外定义,虽然可以在类内定义,但是在类内写很多显得不简洁类内声明:class Demo{ 返回值类型 operator 运算符(形参表);}类外定义:返回类型 Demo(类名)::operator运算符(形参表){ 函数体}(2)双目运算符重载为成员函数当重载运算符为双目运算符时,形参表中只有一个参数作为右操作数。当前对象作为左操作数,通过this指针隐式传递给函数,一个例子来介绍。实例:写到最后突然想起来,

2020-05-19 18:42:52 308

原创 图像标注工具Labelme安装教程

1、首先要安装 Anaconda2、安装完 Anaconda 后,在开始菜单,打开 Ananconda 下的 Ananconda Prompt 终端;3、在 Ananconda Prompt 中依次输入以下命令:conda create --name=labelme python=x.x(这个x.x是安装Ananconda的版本号如果不知道版本号的可以在Ananconda Prompt...

2020-04-28 10:09:56 496 1

原创 程序设计B阶段学习总结

程序设计B阶段学习总结首先,在这份学习总结中,我会分为四部分总结:1.阶段学习中学过什么知识2.怎么运用学些过的知识3.学习知识中要注意的细节跟技巧4.课堂感想一.学习过什么知识在我这段时间的程序设计学习中,最重要的就是学习了与类相关的知识,所有的知识点基本都是围绕着“类”来进行的。首先学习的是复合数据类型,重点学习了数据类型中的自定义类型,从结构体开始逐渐引入了类的概念。...

2020-04-06 21:41:48 304

原创 数据结构——排序算法总结

冒泡排序就从最为大家熟知的冒泡排序开始,原理:假设有一个无序数组s[n],一趟排序的过程:把第一个元素与第二个元素比较,如果第一个比第二个大,那么交换他们的位置。接着继续比较第二个元素和第三个元素的大小,如果第二个比第三个大,那么交换他们的位置,以此类推…代码分析:一趟排序只能将数组中的最大值挪到数组的末尾(即一次确定一个元素的最终位置),所以在每一趟排序结束后要减少待排元素个数,因此2...

2020-01-09 19:00:19 147

原创 数据结构——折半查找

折半查找基本思想:假设有序表按关键码升序排列,取中间记录作为比较对象,若给定值与中间记录相等,则查找成功;若给定值小于中间记录,则在有序表的左半区继续查找;若给定值大于中间记录,则在有序表的右半区继续查找。不断重复上述过程,知道查找成功或者查找区域无记录,查找失败。private static <T extends Comparable<T>> int binaryS...

2019-12-30 00:21:30 3283

原创 数据结构—顶点之间的最短路径Floyd算法

Floyd算法问题描述:对于一个各边权值均大于零的有向图,对每一对顶点i≠j,求出顶点i与顶点j之间的最短路径和最短路径长度。多源最短路径问题: Floyd算法假设有向图G=(V,E)采用邻接矩阵存储。设置一个二维数组A用于存放当前顶点之间的最短路径长度,分量A[I] [j] 表示当前顶点i  j的最短路径长度。递推产生一个矩阵序列:A0  A1  …  Ak  …  A...

2019-12-02 23:05:47 1032

原创 数据结构—Dijkstra算法

Dijkstra算法在了解 Dijkstra算法 之前,要先了解一下路径的问题路径:考虑带权有向图,把一条路径(仅仅考虑简单路径)上所经边的权值之和定义为该路径的路径长度或称带权路径长度。最短路径:从源点到终点可能不止一条路径,把路径长度最短的那条路径称为最短路径。从一个顶点到其余各顶点的最短路径问题描述:给定一个带权有向图G与源点v,求从v到G中其他顶点的最短路径,并限定各边上的权...

2019-12-02 22:40:24 473

原创 数据结构—最小生成树Kruskal算法

Kruskal算法克鲁斯卡尔(Kruskal)算法也是一种求带权无向图的最小生成树的构造性算法。按权值的递增次序选择合适的边来构造最小生成树的方法。克鲁斯卡尔(Kruskal)算法过程:(1)置U的初值等于V(即包含有G中的全部顶点),TE的初值为空集(即图T中每一个顶点都构成一个连通分量)。(2)将图G中的边按权值从小到大的顺序依次选取: 若选取的边未使生成树T形成回路,则加入TE...

2019-12-02 21:26:15 1000

原创 数据结构—图的最小生成树prim算法

prim算法prim算法是求图的最小生成树的一种算法,它是根据图中的节点来进行求解,具体思想大概如下:首先,将图的所有节点(我们假定总共有n个节点)分成两个集合,V和U。其中,集合V保存的是我们已经访问过的节点,集合U保存的是我们未曾访问的节点。prim算法第一步就是选定第一个节点放入集合V中(一般是第一个),然后查找V中节点和U中节点之间距离最小的那个路径,(假设U中节点w离V中的某个节点...

2019-12-01 23:45:21 726

原创 数据结构—二叉树的顺序存储结构

二叉树的顺序存储结构二叉树的顺序存储结构就是用一维数组存储二叉树中的节点,并且节点的存储位置(下标)应能体现节点之间的逻辑关系——父子关系。普通二叉树需按照完全二叉树的编号方式编号,然后以完全二叉树的形式存储到一维数组中,造成很多浪费,故二叉树的顺序存储结构一般仅存储完全二叉树.二叉树的链式存储表示二叉链表基本思想令二叉树的每个节点对应一个链表节点,链表节点除了存放与二叉树节点有关的数...

2019-11-24 22:15:27 3290

原创 数据结构—树和二叉树

二叉树定义二叉树是n(n≥0)个节点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。特点:每个节点最多有两棵子树;二叉树是有序的,其次序不能任意颠倒特殊二叉树斜树1.所有节点都只有左子树的二叉树称为左斜树;2.所有节点都只有右子树的二叉树称为右斜树;3.左斜树和右斜树统称为斜树。4.在斜树中,每一层只...

2019-11-24 21:47:50 729

原创 数据结构—字符串和数组—GPA排名系统

GPA排名系统描述目前,高等院校往往采用GPA来评价学生的学术表现。传统的排名方式是求对每一个学生的平均成绩,以平均成绩作为依据进行排名。但这样的排名方法已经引起了教育界以及社会各界人士的争议,因为它存在着许多弊端。对于不同的课程,选课学生的平均成绩会不同程度地受到课程的难易程度和老师的严厉程度的制约。因而这样的排名系统无形中就鼓励了学生选择一些比较容易的课程,因为这样可以事半功倍地获得较高...

2019-11-24 21:15:17 306

原创 数据结构—字符串—模式匹配算法

模式匹配算法定义:设有主串S和子串t,子串的定位就是要在主串S中找到一个与子串t相等的子串。通常把主串S称作目标串,子串t称作模式串,因此定位也称作模式匹配。常用两种算法:1brute-force算法思路:主串标记指针每次移动一个位置,然后和子串比较,如何相等则返回当前主串指针的位置。上面算法的缺点:主串指针回溯,当与模式串部分匹配后,每次主指针只移动一个位置。2.kmp算法思路:分...

2019-11-24 21:10:03 526

原创 数据机构——字符串

字符串顾名思义就是将字符型的变量串成一个串,这个串可以是数组,也可以是链表等等简单介绍串:零个或多个字符组成的有限序列。串长度:串中所包含的字符个数。特殊的:空串的长度为0。其中顺序的字符串是用数组储存的,链接串是用链接存储结构来存储串。最简单的字符串就是用数组将字符存储起来。相对应的也有多维数组存储字符串并进行相关的操作其中,数组是由一组类型相同的数据元素构成的有序集合,每个元素受...

2019-11-18 23:01:12 125

原创 数据结构——括号匹配

括号匹配描述给定一个字符串,字符串只包含两种字符:左括号“(”和右括号”)”。请判断这些括号是否能匹配。如果能则输出Yes,不能则输出No。输入一行,括号序列(一个字符串)输出Yes/No样例输入((()))()()样例输出Yes#include<iostream>#include<stack>#define N 100using namespa...

2019-11-18 20:41:30 169

原创 数据机构——后缀表达式求值

后缀表达式求值描述输入一个后缀表达式,计算它的值。操作数和操作码之间都以空格分开。输入一行,后缀表达式输出一行,一个整数,为后缀表达式的值样例输入16 9 4 3 + * -样例输出-47#include<iostream>#include<stack>using namespace std;stack<int>S;int x=0;...

2019-11-18 20:39:10 267

原创 数据结构——火车站中驶出的火车

火车站中驶出的火车描述有编号从1到N的N辆火车等待进入车站,而车站的容量是有限的,需要对火车进行调度。只有两种调度指令,进站和出站。现在车站给出了M个指令,请你输出在完成这些调度指令后,车站中驶出火车编号。输入两行第一行两个整数,N和M第二行为M个为-1或者为1的整数,-1代表出站,1代表入站输出一行整数,为驶出车站的火车编号样例输入3 31 -1 1样例输出1#inc...

2019-11-18 20:37:18 621

原创 数据结构——周末舞会

周末舞会描述假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。输入两行第一行两个整数n和m,分别为两队的长度第二行一个整数k,表示舞曲的数目输出k行,每行两个整数n1和m1,表示配对的编号样...

2019-11-18 20:35:09 876

原创 数据结构——队列的基本操作

队列的基本操作输入若干个整数(小于50个),整数共有四种类型,不同类型的整数代表不同操作。说明如下:1、[10,99]之间的整数:将该整数入队。2、-1: 队首整数出队。3、-2: 显示队列所有整数。4、-3: 输入结束。输入第一行若干整数(必须满足上述四种类型要求),以-3结束。输出输出队列中所有整数。样例输入13 25 90 -1 12 -2 -1 45 78 30 -2...

2019-11-18 20:22:23 662

原创 数据结构-队列及其应用

队列的定义与应用和栈类似定义:队列:只允许在一端进行插入操作,而另一端进行删除操作的线性表。允许插入(也称入队、进队)的一端称为队尾,允许删除(也称出队)的一端称为队头。也就是说,队列在输入输出方面与栈有所不同,栈是单向的输入输出,在一个方向进,在同一个方向出。队列是在一头进,另一头出。其他的应用方面略有不同。队列的操作特性:先进先出比如在具体的操作方面:队列的基本操作:S.pu...

2019-11-18 20:19:37 846

原创 数据结构-栈及其应用

一 . 栈栈的逻辑结构 :限定仅在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶,另一端称为栈底。空栈是不含任何数据结构的栈 。1.栈的具体操作stack S //定义一个整型的数据栈Spush()//插入数据S.top()//取栈顶S.pop()/删除栈顶S.empty()//栈是否为空栈的具体应用–后缀表达式从左到右对后缀表达式字符串进行处理,每次处理一个符...

2019-11-03 12:59:53 466

原创 数据结构-线性表-循环链表,双向链表

一.循环列表将单链表或者双链表的头尾结点链接起来,就是一个循环链表。特点:首尾相接的链表。可以从任一节点出发,访问链表中的所有节点。判断循环链表中尾结点的特点:q->next==first1.循环列表的构建①头插法构建循环链表first=new Node; //生成头结点first->next=first;Node *s;for (int i=1; i&l...

2019-11-03 10:50:48 302

原创 数据结构-线性表-单链表

线性表的逻辑结构线性表的定义:是零个或多个具有相同类型的数据元素的有限序列。数据元素的个数定义为线性表的 长度 。长度等于零时称为空表,一个非空表通常记为    L = ( a 1 , a 2 ,……, a n )其中, a i ( 1 ≤ i ≤ n )称为数据元素,下标 i 表示该元素在线性表中的位置或序号, 称元素 a i 位于表的第 i 个位置,或称 a i 是表中的第 i 个...

2019-10-27 23:46:24 112

原创 数据结构绪论

数据结构的基本概念数据(Data):是对客观事物的符号表示,在计算机科学中是指能输入到计算机并被计算机程序处理的符号的总称。    数据一般可分为数值数据、文本数据、图形图像数据和音响数据等。数据元素(Data Element):是数据的基本单位,也可以称为结点,在计算机程序中通常作为一个整体进行考虑。    数据元素一般由若干数...

2019-10-27 16:24:05 86

原创 知识点总结

第8章 运算符重载对于运算符的基本概念我们可以将运算符看作是一种特殊的函数所以可以将运算符看作函数进行重载操作数是函数的参数,运算结果是函数的返回值  重载运算符声明为友元,以便访问私有数据成员  运算符重载的实质:运算符重载仅仅提供了一种语法上的方便,是以另外一种方式调用函数。  不能滥用运算符重载  只有至少一个操作数是用户自定义类型时,才可能调用重载的运算符,只有在能使类的代码...

2019-06-23 23:57:39 137

原创 软件开发心得

在我刚开始学习编程的时候,就对一个程序的实际落实性产生了更大的兴趣,也就是能否落地,在大一上学期的C语言学习里,我们详细的学习了C语言的基础知识,为下学期的C++学习中的软件开发打好了基础,在下学期开始学习面向对象的程序设计并尝试进行软件设计时,那种茫然瞬间涌上心头,在此之前,我从未接触过任何有关于软件设计的信息,所以在刚开始进行尝试软件设计的时候还是比较困难,但是在老师的指导和同学们的合作下,一...

2019-06-22 00:36:44 263

原创 关于“类”的学习总结

首先,在关于类的学习中,我们首先要明白 什么是“类”,怎么去定义,如何去使用。类的定义类的定义格式一般地分为说明部分和实现部分。说明部分是用来说明该类中的成员,包含数据成员的说明和成员函数的说明。成员函数是用来对数据成员进行操作的,又称为“方法”。实现部分是用来对成员函数的定义。概括说来,说明部分将告诉使用者“干什么”,而实现部分是告诉使用者“怎么干”。类的定义格式一般如下:class类名...

2019-04-14 11:09:24 333

原创 面向对象的程序设计学习总结(一)

第四章 符合类型4.1c++新增内容constexper对象1.如果认定某个对象为常量表达式,可以把它声明雯constexpr类型2.声明为constexpr的数据对象一定是一个常量,必须用常量表达式初始化例:constexpr int size=20;//20为常量表达式auto类型说明符1.用auto声明变量的类型,由编译器去自动分析表达式的类型,推断出变量的实际类型。2.定义...

2019-03-24 21:48:37 1031

原创 输出保留3位小数的浮点数

#include#include&lt;stdio.h&gt;using namespace std;int main(){float x;//定义单精度浮点数scanf("%f",&amp;x);//输入xprintf("%.3f",x);//输出xreturn 0;}

2019-01-15 16:11:20 4453 1

原创 输出第二个整数

描述输入三个整数,把第二个输入的整数输出。输入只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。输出只有一行,一个整数,即输入的第二个整数。#include&lt;iostream&gt;using namespace std;int main(){int x1,x2,x3;cin&gt;&gt;x1&gt;&gt;x2&gt;&gt;x3;cout&lt...

2019-01-15 16:03:20 1413

原创 Hello,World!

描述对于大部分编程语言来说,编写一个能够输出“Hello, World!”的程序往往是最基本、最简单的。因此,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。现在你就需要完成这样一个程序。输入无。输出一行,仅包含一个字符串:“Hello, World!”#includeusing namespace std;int ma...

2019-01-15 15:53:59 85

空空如也

空空如也

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

TA关注的人

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