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

原创 数据结构图的知识点大全总结(包括各类常见算法都有本人自己的独特分析)
一、图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其G表示一个图,V是图G中顶点的集合,E是图G中边的集合。(1)在线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图数据元素称之为顶点(Vertex)。(2)线性表中可以没有数据元素,称之为空表。树中可以没有结点称之为空树。对于图,图中不能没有顶点。强调顶点集合有穷非空。(3)线性表中,相邻...
2019-05-18 19:17:31
13503
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
3026
14

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

原创 C语言KMP算法与字符串朴素的模式匹配算法(暴力)编程小白必学
一、串的定义串是由零个和多个字符组成的有限序列,又名叫字符串。一般记为 s="a1a2a3.......an"(n>=0),其中s是串的名字,用双引号括起来的字符序列是串的值。串中的字符长度n称为串的长度。零个字符的串称为空串。还有一些概念需要解释子串与主串:串中任意个数的连续字符组成的子序列称为该串的子串,相应地,包含子串的串称为主串。子串在主串中的位置就是字串的第一个字符在...
2019-03-11 20:11:53
1029
7

原创 用c++语言实现数据结构各种常见排序,有详细解释。
我们在这里主要来讨论的是单个关键字的排序。排序的稳定性:假设Ki=Kj,i不等于j,且在排序前的序列中Ki是领先与Kj的。如果排序后Ki仍是领先于Kj的,则称所用的排序方法是稳定的;反之是不稳定的。内排序与外排序:根据在排序过程中,待排序的记录是否全部被放置在内存中,排序分为内排序和外排序。内排序是在整个排序过程中,待排序的所有纪录全部被放置内存中。外排序是由于需要排序的纪录太...
2019-03-04 22:15:39
1789

原创 C语言之推箱子小游戏,期待大家的交流指导。
对于推箱子游戏,相信大家并不会陌生吧。这是一个非常经典的小游戏。今天,我就将我开发这款游戏的经验分享给大家。 第一步,我会分析建立出游戏的大体框架。推箱子游戏实际上是在一片二维数组的地图上进行数组元素变换,同时进行图形的绘制工作。并且从游戏的玩法可以得到一些基本游戏元素(一个小人,箱子,destination(目标),地板,墙壁,还有整个背景)。 首先...
2018-12-12 21:08:23
375
原创 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
213
原创 c语言文件操作——对文件的输入输出
1、什么是文件在程序设计中,主要用到两种文件。(1)程序文件,包括源程序文件(后缀为.c)、源文件编译生成的目标文件(.obj)、可执行文件(.exe)。(2)数据文件,是供程序运性时读写的数据。2、文件名一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括三部分:(1)文件路径(2)文件名主干(3)文件名后缀。3、文件的分类根据数据的组织形式,数据文件可分为ASC...
2019-04-03 11:17:55
1198
原创 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
24616
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
688
原创 c语言数据结构栈与队列的定义,及其基本操作与应用。
一、栈栈是一种数据存储结构,栈是限定仅在表尾进行插入与删除操作的线性表。简单的来说栈中的元素都是遵从先进后出,后进先出的原则。在日常生活中,例如我们在浏览器上网时,点击前进了好几次,相当于往栈里面插入了几次。假如点击返回,浏览器会转到最近一个我们浏览过的网页,后进去的现出来,这就利用了栈结构。 我们把允许插入的一端称为栈顶(top),而另一端称为栈底(bottom...
2019-03-09 19:52:35
1179
原创 数据结构学习记录(三)链表的选择排序排序操作
在上一篇博文中,我写过了根据下标进行链表元素交换的函数(并且不能交换头结点),这次由于选择排序需要用到交换元素这个功能,于是我写下了,一个全新的交换函数(整个节点的交换)。它可以根据两者的指针值来进行交换操作。单链表交换两个节点有一个非常值得注意的地方,指针值十分容易混乱。所以我们用图解来讲解整个过程原理:如下图为一个单链表:首先,当链表为空或两个需要交换的元素为同一个节点时,不进...
2019-01-23 17:59:19
2299
原创 数据结构学习记录(三)链表的定义和操作
顺序存储结构如数组,进行插入与删除操作,往往会比较复杂,因为牵扯到了大量数组元素的后移操作,导致算法时间复杂度很高,但是链式存储结构的很好的解决了这一问题,链表在进行插入与删除操作时,只需遍历一遍线性表就可以搞定。缺点是不能进行随机访问,并且交换两个元素十分麻烦,往往指针会混乱,同样也不推荐将需要排序的数据使用链式结构储存,用顺序存储结构则更为轻松。下面是单链表的定义及其操作的c++代码...
2019-01-23 17:37:26
262
原创 数据结构学习记录(三)线性表
线性表线性表:零个或多个数据元素的有限序列。线性表的长度:线性表元素的个数n(n>=0)当n=0时,称为空表。在较复杂的线性表中,一个数据元素可以由若干个数据项组成。 关于线性表的顺序存储结构,可分为两种,一种为静态线性表的顺序存储结构即最大存储容量不能变,另一种为可以增加线性表容量的动态线性表存储结构。 以下代码为静态线性表的顺序存储结构及其基本操作:#i...
2019-01-18 16:41:33
295
原创 数据结构学习记录(二)算法
算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的优先序列,并且每条指令表示一个或多个操作。先来测试写一个小程序计算1~100求和我们一般都会写#include <stdio.h>int mian(){ int sum=0; for(int i=1;i<=100;i++) { sum+=i; } ...
2019-01-18 15:01:33
158
原创 数据结构学习记录(一)绪论部分(包括“数据”,逻辑结构,物理结构)
一、在学到第一章什么是数据结构时?得先知道什么是数据。正所谓巧妇难为无米之炊,在强大的计算机,也得有米才能下锅,才能做成饭。在计算机里这个“米”就称为数据。数据数据:数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的的符号集合。我们在这里所说的数据,其实就是符号,而且这些符号必须具备两个前提·可以输入到计算机中·能被计算机程序处理 ...
2019-01-16 17:46:51
629
原创 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
3156
高质量C++编程指南.zip
2019-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人