自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据结构图的知识点大全总结(包括各类常见算法都有本人自己的独特分析)

一、图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其G表示一个图,V是图G中顶点的集合,E是图G中边的集合。(1)在线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图数据元素称之为顶点(Vertex)。(2)线性表中可以没有数据元素,称之为空表。树中可以没有结点称之为空树。对于图,图中不能没有顶点。强调顶点集合有穷非空。(3)线性表中,相邻...

2019-05-18 19:17:31 12586 1

原创 基于easyx2018,使用c++实现简易画图板(撤销与恢复功能)

首先定义一个抽象类Draw,此类没有实际作用,只是为了实现画图的多态性,即画不同的形状。用Draw类派生出画矩形类DrawRect、画直线类DrawLine、画椭圆类DrawEllipse。下面是这些类的具体声明代码:class Draw{public: Draw(); virtual ~Draw(); virtual void Paint()=0;};class Dra...

2019-04-26 19:21:14 2836 14

原创 在c++中使用easyx画一个实时走动的钟表(方法细节)

这次的任务是用c++画出实时走动的钟表,并且与当前系统的时间一致。由于我们使用的是c++语言,我们更需要用这个例子来提高我们对面向对象程序设计的理解。我们首先需要分析出需求,“画一个能够实时走动的钟表”,根据需求我们可以好处两个对象,钟表对象与画图对象,所以我们大致先建立两个类,Clock类与Paint类。Clock类中的成员变量都有:表的中心坐标x与y、表的时间(时、分、秒)、表的大...

2019-03-27 17:52:19 5870 2

原创 C语言KMP算法与字符串朴素的模式匹配算法(暴力)编程小白必学

一、串的定义串是由零个和多个字符组成的有限序列,又名叫字符串。一般记为 s="a1a2a3.......an"(n>=0),其中s是串的名字,用双引号括起来的字符序列是串的值。串中的字符长度n称为串的长度。零个字符的串称为空串。还有一些概念需要解释子串与主串:串中任意个数的连续字符组成的子序列称为该串的子串,相应地,包含子串的串称为主串。子串在主串中的位置就是字串的第一个字符在...

2019-03-11 20:11:53 934 7

原创 用c++语言实现数据结构各种常见排序,有详细解释。

我们在这里主要来讨论的是单个关键字的排序。排序的稳定性:假设Ki=Kj,i不等于j,且在排序前的序列中Ki是领先与Kj的。如果排序后Ki仍是领先于Kj的,则称所用的排序方法是稳定的;反之是不稳定的。内排序与外排序:根据在排序过程中,待排序的记录是否全部被放置在内存中,排序分为内排序和外排序。内排序是在整个排序过程中,待排序的所有纪录全部被放置内存中。外排序是由于需要排序的纪录太...

2019-03-04 22:15:39 1727

原创 C语言之推箱子小游戏,期待大家的交流指导。

       对于推箱子游戏,相信大家并不会陌生吧。这是一个非常经典的小游戏。今天,我就将我开发这款游戏的经验分享给大家。       第一步,我会分析建立出游戏的大体框架。推箱子游戏实际上是在一片二维数组的地图上进行数组元素变换,同时进行图形的绘制工作。并且从游戏的玩法可以得到一些基本游戏元素(一个小人,箱子,destination(目标),地板,墙壁,还有整个背景)。       首先...

2018-12-12 21:08:23 324 2

原创 c预处理命令——语言条件编译

条件编译命令有如下几种形式(1)#ifdef 标识符#ifdef 标识符//程序段1#else//程序段2#endif如果在之前定义过标识符,则程序段1生效,编译程序段1。否则编译程序段2。当然也可以不用else。(2)#ifndef 标识符#ifndef 标识符//程序段1#else//程序段2#endif与上面的#ifdef相反,如果...

2019-04-03 15:59:07 184

原创 c语言文件操作——对文件的输入输出

1、什么是文件在程序设计中,主要用到两种文件。(1)程序文件,包括源程序文件(后缀为.c)、源文件编译生成的目标文件(.obj)、可执行文件(.exe)。(2)数据文件,是供程序运性时读写的数据。2、文件名一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括三部分:(1)文件路径(2)文件名主干(3)文件名后缀。3、文件的分类根据数据的组织形式,数据文件可分为ASC...

2019-04-03 11:17:55 1126

原创 c++获取当前系统时间(年月日、时分秒格式)通俗易懂

想要在c++中获取当前系统时间,第一步需要包一个头文件<ctime>。然后创建一个time_t 类型的变量nowtime,什么是time_t类型呢,该类型在c++中是这样定义的typedef long long time_t ; 实际上就是long long类型,所以我们可以理解为创建一个64位的时间变量nowtime。接下来创建一个新时间结构体指针p struct ...

2019-03-28 15:01:13 24050 5

原创 数据结构树的概念与笔记

1、树的定义我们需要研究这种一对多的数据结构——“树”,考虑它的各种特性,用来解决我们在编程中遇到的各种问题。树是n个结点的有效集(n>=0)。n=0时称为空树。在任意一颗非空树(1)有且仅有一个特定的称为根(Root)的结点。(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、......、Tm,其中每一个集合本身又是一棵树,并且称为根的子树(Su...

2019-03-17 17:51:45 648

原创 c语言数据结构栈与队列的定义,及其基本操作与应用。

一、栈栈是一种数据存储结构,栈是限定仅在表尾进行插入与删除操作的线性表。简单的来说栈中的元素都是遵从先进后出,后进先出的原则。在日常生活中,例如我们在浏览器上网时,点击前进了好几次,相当于往栈里面插入了几次。假如点击返回,浏览器会转到最近一个我们浏览过的网页,后进去的现出来,这就利用了栈结构。 我们把允许插入的一端称为栈顶(top),而另一端称为栈底(bottom...

2019-03-09 19:52:35 1070

原创 数据结构学习记录(三)链表的选择排序排序操作

在上一篇博文中,我写过了根据下标进行链表元素交换的函数(并且不能交换头结点),这次由于选择排序需要用到交换元素这个功能,于是我写下了,一个全新的交换函数(整个节点的交换)。它可以根据两者的指针值来进行交换操作。单链表交换两个节点有一个非常值得注意的地方,指针值十分容易混乱。所以我们用图解来讲解整个过程原理:如下图为一个单链表:首先,当链表为空或两个需要交换的元素为同一个节点时,不进...

2019-01-23 17:59:19 2244

原创 数据结构学习记录(三)链表的定义和操作

顺序存储结构如数组,进行插入与删除操作,往往会比较复杂,因为牵扯到了大量数组元素的后移操作,导致算法时间复杂度很高,但是链式存储结构的很好的解决了这一问题,链表在进行插入与删除操作时,只需遍历一遍线性表就可以搞定。缺点是不能进行随机访问,并且交换两个元素十分麻烦,往往指针会混乱,同样也不推荐将需要排序的数据使用链式结构储存,用顺序存储结构则更为轻松。下面是单链表的定义及其操作的c++代码...

2019-01-23 17:37:26 211

原创 数据结构学习记录(三)线性表

线性表线性表:零个或多个数据元素的有限序列。线性表的长度:线性表元素的个数n(n&gt;=0)当n=0时,称为空表。在较复杂的线性表中,一个数据元素可以由若干个数据项组成。 关于线性表的顺序存储结构,可分为两种,一种为静态线性表的顺序存储结构即最大存储容量不能变,另一种为可以增加线性表容量的动态线性表存储结构。 以下代码为静态线性表的顺序存储结构及其基本操作:#i...

2019-01-18 16:41:33 258

原创 数据结构学习记录(二)算法

算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的优先序列,并且每条指令表示一个或多个操作。先来测试写一个小程序计算1~100求和我们一般都会写#include &lt;stdio.h&gt;int mian(){ int sum=0; for(int i=1;i&lt;=100;i++) { sum+=i; } ...

2019-01-18 15:01:33 123

原创 数据结构学习记录(一)绪论部分(包括“数据”,逻辑结构,物理结构)

一、在学到第一章什么是数据结构时?得先知道什么是数据。正所谓巧妇难为无米之炊,在强大的计算机,也得有米才能下锅,才能做成饭。在计算机里这个“米”就称为数据。数据数据:数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的的符号集合。我们在这里所说的数据,其实就是符号,而且这些符号必须具备两个前提·可以输入到计算机中·能被计算机程序处理 ...

2019-01-16 17:46:51 570

原创 C语言中rand()与time()函数的使用

一、首先,介绍一下time()函数,它是定义在<math.h>这个头文件里面。1.函数原型为:time_t time(time_t *timer)2.参数说明:timer=NULL得到当前日历时间(从1970-01-01 00:00:00到现在的秒数),time_t是一个 unsigned long 类型。timer=时间值,用于设置日历时间。如果 timer不为空,...

2018-12-29 18:26:25 2964

高质量C++编程指南.zip

可能你学完c++基础觉得自己写的代码像一堆xx,那么我推荐你看看这本c++编程指南,为自己制定正确、优美、简洁易懂的代码风格,从而拉开与普通coder的差距。

2019-07-03

空空如也

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

TA关注的人

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