摘要:```c /* 全局变量会默认初始化为0 空 和 false,局部变量要手动初始化,或者直接scanf输入值进去。如果不初始化,n可能是0也有可能是其他数,大多数情况下会是0,但不初始化是不安全的,所以Dev直接显示了0,VS更严谨不初始化也没有输入值给n直接输出会报错 直接用容器不管是全局变量还是局部变量都会自动初始化为0、空和false,确实比直接用数组方便很多,这也是C++比C优越的地方。真 阅读全文
posted @ 2019-11-20 14:53 ericling 阅读 (3) 评论 (0) 编辑
摘要:1.并查集的定义 在计算机科学中, 并查集 是一种树型的数据结构,用于 处理一些不交集(Disjoint Sets)的合并及查询问题 。有一个联合 查找算法(union find algorithm)定义了两个用于此数据结构的操作: :确定元素属于哪一个子集。 :将两个子集合并成同一个集合。 ,用于 阅读全文
posted @ 2019-11-19 23:31 ericling 阅读 (5) 评论 (0) 编辑
摘要:修改code completion快捷键位CTRL+ENTER,帮助提示函数名称 修改命令行提示符的属性,开启快速编辑模式,方便调试 添加c++11语言标准支持 开启代码调试功能 对输入的字符串进行切割时,可以使用scanf按照指定格式分别输入达到切割效果,比如: 对于需要进行除法运算的变量,并且有 阅读全文
posted @ 2019-11-19 11:41 ericling 阅读 (10) 评论 (0) 编辑
摘要:上一节内容 "【algo&ds】4.树和二叉树、完全二叉树、满二叉树、二叉查找树、平衡二叉树、堆、哈夫曼树、散列表" 7.B树 B树的应用可以参考 "另外一篇文章" 8.字典树Trie Trie 树,也叫“字典树”。顾名思义,它是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符 阅读全文
posted @ 2019-11-19 09:53 ericling 阅读 (2) 评论 (0) 编辑
摘要:本博客内容耗时4天整理,如果需要转载,请注明出处,谢谢。 1.树 1.1树的定义 在计算机科学中,树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n 0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起 阅读全文
posted @ 2019-11-18 16:18 ericling 阅读 (47) 评论 (0) 编辑
摘要:1.堆栈 堆栈(Stack) :具有一定操作约束的线性表(只在一端(栈顶,Top)做插入、删除) 先进后出 特性 1.1堆栈的抽象数据类型描述 类型名称 : 堆栈(Stack) 数据对象集 :一个有0个或多个元素的有穷线性表。 操作集 :长度为MaxSize的堆栈S  Stack,堆栈元素item 阅读全文
posted @ 2019-11-17 21:40 ericling 阅读 (6) 评论 (0) 编辑
摘要:1.线性表 线性表 (英语:Linear List)是由n(n≥0)个 "数据" 元素( "结点" )a "0],a[1],a[2]…,a[n 1]组成的[有限序列" 。 其中: 数据元素的个数n定义为表的长度 = "list".length() ("list".length() = 0(表里没有一 阅读全文
posted @ 2019-11-17 19:12 ericling 阅读 (51) 评论 (0) 编辑
摘要:原文链接:https://www.cnblogs.com/onepixel/p/7674659.html 注意 : 原文中的算法实现都是基于JS,本文全部修改为C实现,并且统一排序接口,另外增加了一些描述信息,后面会持续更新本文。 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比 阅读全文
posted @ 2019-11-17 17:33 ericling 阅读 (12) 评论 (0) 编辑
摘要:1.时间复杂度分析O(f(n)) 分析方法 只关注循环执行次数最多的一段代码 加法原则 乘法原则 高优先级原则 常见时间复杂度量级 多项式量级和非多项式量级。其中,非多项式量级只有两个:O(2^n) 和 O(n!)。 我们把时间复杂度为非多项式量级的算法问题叫作 NP(Non Determinist 阅读全文
posted @ 2019-11-17 16:33 ericling 阅读 (2) 评论 (0) 编辑
摘要:解决问题方法的效率,跟数据的组织方式有关 解决问题方法的效率,跟空间的利用效率有关 解决问题方法的效率,跟算法的巧妙程度有关 什么是数据结构 数据对象 在计算机中的组织方式 逻辑结构 物理存储结构 数据对象必定与一系列加在其上的 操作 相关联 完成这些操作所用的方法就是 算法 抽象数据类型 数据类型 阅读全文
posted @ 2019-11-17 16:32 ericling 阅读 (3) 评论 (0) 编辑
摘要:深度优先搜索 1.定义 深度优先搜索算法(英语:Depth First Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止 阅读全文
posted @ 2019-11-16 15:06 ericling 阅读 (12) 评论 (0) 编辑
摘要:最短路径 1003. Emergency (25) PAT甲级真题(Dijkstra算法) 1018. Public Bike Management (30) PAT甲级真题(Dijkstra + DFS) 1030. Travel Plan (30) PAT甲级真题(Dijkstra + DFS, 阅读全文
posted @ 2019-11-12 19:12 ericling 阅读 (11) 评论 (0) 编辑
摘要:在刷pat的 "1073 多选题常见计分法" 题目时,发现如果需要判断每一个学生对应每道题的多选题是否错选,漏选,以及选对是比较麻烦的一件事,因为这涉及到两个集合的判断,判断一个集合是否是另一个集合的子集(即漏选,得一半的分),或者说两个集合是否完全相等(即题目得满分)。 刚开始通过set容器来保存 阅读全文
posted @ 2019-11-09 16:37 ericling 阅读 (139) 评论 (0) 编辑
摘要:其它进制转为十进制 在实现这个需求之前,先简单介绍一个c标准库中的一个函数: 参数详细说明请 "参考文档" 注意: 这个函数在c标准库stdlib中,所以需要 用法参考 Output 更多详细说明请 "参考文档" 接下来使用这个函数来实现其它进制转为十进制的需求,具体请参考代码: Output: 实 阅读全文
posted @ 2019-11-07 17:11 ericling 阅读 (28) 评论 (0) 编辑
摘要:引用传递有两种传参方式,具体可 "参考文章" 概括地讲,就是 声明一个形参是指针,所以需要传递指针实参,对应的函数实现也应当遵循指针的语法。这种实现思路并不针对于C或者C++,因为它们都有指针,所以都可以通过指针来达到引用传参的效果, 但是 这种实现本质上 不叫引用传参 ,因为传递的是指针,而不是实 阅读全文
posted @ 2019-11-05 15:15 ericling 阅读 (198) 评论 (0) 编辑
摘要:原文链接:https://www.cnblogs.com/onepixel/p/7674659.html 注意 : 原文中的算法实现都是基于JS,本文全部修改为C实现,并且统一排序接口,另外增加了一些描述信息,后面会持续更新本文。 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比 阅读全文
posted @ 2019-11-05 08:41 ericling 阅读 (32) 评论 (0) 编辑
摘要:原文链接: https://timtingwei.github.io/2018/08/13/20180813 01/ ref: https://blog.csdn.net/yinghuoai/article/details/78510094 考试大纲 乙级(Basic Level) 考生应具备以下基 阅读全文
posted @ 2019-11-04 22:12 ericling 阅读 (34) 评论 (0) 编辑
摘要:最大公约数GCD(Greatest Common Divisor) 最常见的求两个数的最大公约数的算法是 "辗转相除法,也叫欧几里得算法" 该算法的c++语言实现如下: c include using namespace std; int gcd(int a,int b){ return b==0? 阅读全文
posted @ 2019-11-04 20:20 ericling 阅读 (87) 评论 (0) 编辑
摘要:此文档记录参加pat考试并且以dev c++【针对5.11版本】软件作为开发工具时,必须修改的三个默认设置。 1.修改默认语言标准 Dev C++ 5.11 版本支持较新的 C 和 C++ 标准,但是默认没有开启。 2.产生调试信息 3.代码提示 默认的代码提示快捷键是【CTRL+SPACE】,但是 阅读全文
posted @ 2019-11-03 20:06 ericling 阅读 (21) 评论 (0) 编辑
摘要:题目如下: 四种解题思路对应的完整代码如下: c //最大子列和求解思路 include include using namespace std; int maxsubseqsum1(int nums[],int size); int maxsubseqsum2(int nums[],int siz 阅读全文
posted @ 2019-10-31 21:21 ericling 阅读 (9) 评论 (0) 编辑
摘要:两种引用传递的定义方式 第一种 Output 这里实际上传递的是指针,在形参定义的时候,通过datatype variable来声明这个参数是指针类型,当然,在函数实现的时候,也应当使用指针的语法来修改这个变量或者传递这个变量的值。 第二种 Output 这种定义方式,实际上就是&在起作用,表示这个 阅读全文
posted @ 2019-10-30 16:23 ericling 阅读 (91) 评论 (0) 编辑
摘要:1.结构体是什么 在C编程中,结构体是单个名称下的变量(可以是不同类型)的集合。 1.1定义结构体 代码示例: 1.2创建结构体 也可以这样创建 1.3 访问结构体的属性 你可以使用两种操作符来访问结构体的属性: member operator Structure pointer operator 阅读全文
posted @ 2019-10-29 22:03 ericling 阅读 (20) 评论 (0) 编辑
摘要:0.常见误区 1. c语言中没有string基本数据类型 C语言里有 string aString; 这个头文件里声明的函数原型也全是 针对char数组的种种操作 。直到C++中才出现了string这个类(注意是类, 不是类型)。 2. 字符串通过字符数组来定义时,默认会在数组最后一个元素加上'\0 阅读全文
posted @ 2019-10-29 19:38 ericling 阅读 (146) 评论 (0) 编辑
摘要:C动态内存分配 数组是固定数量的值的集合,在声明数组的大小之后,无法更改。有时,数组大小可能不够,就需要动态扩容。解决此问题,可以在运行时手动分配内存。这在C编程中称为 动态内存分配 。 动态分配存储器涉及到的库函数有 这些函数在``头文件中定义。 1.malloc() 名称“ malloc”代表内 阅读全文
posted @ 2019-10-27 11:24 ericling 阅读 (114) 评论 (0) 编辑
摘要:0.序言 本片博客旨在记录通过DEV C++工具调试C/C++代码,在这之前需要对以下知识了解或掌握。 C/C++代码的完整编译过程,可 "参考文章" GCC,gcc,g++,gdb的区别和联系,可 "参考文章" 1.开发工具配置 我所使用的DEV C++版本为5.11,默认设置就已经支持调试了,看 阅读全文
posted @ 2019-10-25 11:56 ericling 阅读 (64) 评论 (0) 编辑
摘要:"原文链接" C语言程序从源代码到二进制程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程。 编写hello world C程序: 编译过程只需: 这个过程如此熟悉,以至于大家觉得编译事件很简单的事。事实真的如此吗?我们来细看一下C语言的编译过程到底是怎样的。 上 阅读全文
posted @ 2019-10-25 10:31 ericling 阅读 (111) 评论 (0) 编辑
摘要:c和c++的关系 c是面向过程的语言,c++是在c的基础上扩展的面向对象的编程语言。 c++具备c的所有功能,对c的库完全兼容。 c++的标准在98年确定,在那之前已经有一些库大量使用。 新标准中,推出了名称空间的概念,既是为了方便人们使用新标准的同时,不用大量修改之前的代码,对之前的代码兼容,同时 阅读全文
posted @ 2019-10-25 09:31 ericling 阅读 (22) 评论 (0) 编辑
摘要:目前在这些软件中测试通过,editplus,idea,印象笔记 步骤 按住ALT键不放,移动鼠标,使得编辑器进入块编辑状态 成功选中之后(也可以不选中具体内容,只要有多行选中效果即可,即鼠标在多行单列情况下),就会进入块编辑状态。 该状态的使用场景: 多行内容类似,但又不尽相同的内容,需要同时修改每 阅读全文
posted @ 2019-10-23 16:49 ericling 阅读 (8) 评论 (0) 编辑
摘要:工具备份 下载工具 代码相关工具 阅读全文
posted @ 2019-10-18 23:38 ericling 阅读 (11) 评论 (0) 编辑
摘要:![](https://img2018.cnblogs.com/blog/1668551/201910/1668551-20191018214739403-25915317.png) 阅读全文
posted @ 2019-10-18 21:48 ericling 阅读 (17) 评论 (0) 编辑
摘要:![](https://img2018.cnblogs.com/blog/1668551/201910/1668551-20191018214449940-105696334.png) 阅读全文
posted @ 2019-10-18 21:45 ericling 阅读 (11) 评论 (0) 编辑
摘要:GitHub的文件都可以直接外链访问,地址类似于下面的格式 https://raw.githubusercontent.com/user/repository/branch/file/to/path 所以,如果想要下载github仓库里的单个文件,直接套用上面的格式就可以了。 比如 https:// 阅读全文
posted @ 2019-10-16 16:32 ericling 阅读 (10) 评论 (0) 编辑
摘要:![插件备份.png](http://ww1.sinaimg.cn/large/006edVQGgy1g7ypacl4yaj30g016940x.jpg) 阅读全文
posted @ 2019-10-15 11:00 ericling 阅读 (6) 评论 (0) 编辑
摘要:1. 打开想要查看的接口或者类文件,使用快捷键 调出Hierarchy窗口 比如,想要查看Exception的类继承关系,首先定位到这个文件,然后调出Hierarchy窗口。 该窗口上面的一排工具栏如下: 分别是: 查看完整的类(接口)阶层结构 查看父类或者父接口 查看子类 是否按照字母排序 当前操 阅读全文
posted @ 2019-10-15 10:44 ericling 阅读 (160) 评论 (0) 编辑
摘要:离线API查阅工具 1. "Dash" 只支持mac和iPhone,使用体验我就不知道了,因为目前还没有用过mac,但是墙裂推荐你去试一试! 官网对它的定义是:Dash is an API Documentation Browser and Code Snippet Manager. Dash st 阅读全文
posted @ 2019-10-02 00:26 ericling 阅读 (143) 评论 (0) 编辑
摘要:Spring boot集成Rabbit MQ使用初体验 1.rabbit mq基本特性 首先介绍一下rabbitMQ的几个特性 Asynchronous Messaging Supports "multiple messaging protocols" , "message queuing" , " 阅读全文
posted @ 2019-09-28 18:32 ericling 阅读 (229) 评论 (0) 编辑
摘要:要了解数据库索引的底层原理,我们就得先了解一种叫树的数据结构,而树中很经典的一种数据结构就是二叉树!所以下面我们就从二叉树到平衡二叉树,再到B 树,最后到B+树来一步一步了解数据库索引底层的原理! 二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构。通常子树被称 阅读全文
posted @ 2019-09-27 11:09 ericling 阅读 (44) 评论 (0) 编辑
摘要:spring boot缓存初体验 1.项目搭建 使用MySQL作为数据库,spring boot集成mybatis来操作数据库,所以在使用springboot的cache组件时,需要先搭建一个简单的ssm环境。 首先是项目依赖 数据库测试用的数据 sql CREATE TABLE ( int(11) 阅读全文
posted @ 2019-09-26 23:49 ericling 阅读 (191) 评论 (0) 编辑
摘要:逆向工程很方便,可以直接根据数据库和配置文件生成pojo,mapper接口和相应的映射文件。 xml版本和全注解版本其实差不多,大部分情况下,都会保留xml文件方便其他人去扩展新的dml方法。 文章旨在记录ssm项目的搭建过程,除了本文所提到的逆向工程极大的方便了应用的开发效率,还有两个比较常用的m 阅读全文
posted @ 2019-09-23 21:32 ericling 阅读 (194) 评论 (0) 编辑
摘要:1.在maven中引入相应jar包 2.创建相应配置文件 配置mbg.xml文件,文件内容包括以下几个部分 1) 数据库连接信息 2)指定JavaBean生成的位置 3)指定sql映射文件生成的位置 4)指定dao接口生成的位置 5)tabel标签指定每个表的生成策略 6)commentGenera 阅读全文
posted @ 2019-09-15 22:00 ericling 阅读 (22) 评论 (0) 编辑