4 我吃龙虾

尚未进行身份认证

我要认证

做好自己份内的事

等级
TA的排名 5w+

两个.c文件访问同一个全局变量的用法

(1)不用头文件在file_a.c中定义一个全局变量:int flag ;在file_b.c中:extern int flag;即可。(2)利用头文件在file_a.c中定义一个全局变量:int flag;在common.h中定义:extern int flag;然后在file_b.c中包含common.h文件即可。注:file_a.c中不可包含头文件common.h。...

2019-09-18 16:35:25

PID算法

                            PID算法原理及其使用1.PID算法原理  &nb...

2019-05-10 11:13:02

值得学习的C++项目开源(转)

值得学习的C语言开源项目1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz21...

2019-02-15 13:44:57

(linux)vs code调试编译c++项目

总结一下vs code调试项目时,json文件和task的配置信息。主要包括2种方式。第一种不涉及多文件和makefile。第二种使用到makefile编译调试大型项目。平台:Ubuntu 16.04 && vs code 1.30.2 && gcc 5.4.0 && g++ 5.4.0ps: gcc 和 g++ 在ubuntu中默认安...

2019-01-24 22:24:55

Ubuntu 软件源的选择(主要是树莓派3ARM v7架构的源)

   1.背景:在使用软件源时,试了几个国内较出名的软件源,有几个使用速度较快,使用较好随笔记录下来。    2.推荐一下,教育网(就是高校)推荐中科大的源,重要的是,这个源可以支持ARM v7的树莓派。目前在国内就找到这一个,如果有其他的请推荐一下,谢谢了。企业的就使用阿里云的源。    3.中科大源:...

2018-05-12 23:26:24

一起做RGB-SLAM中遇到的问题与解决

跟着高博博士学习《一起做RGB-SLAM》,其中遇到问题就写一下。1.一起做RGB-SLAM(2)中遇到的问题     a. 问题描述:编译成功,但执行报以下错误。point cloud size = 0terminate called after throwing an instance of 'pcl::IOExcepti...

2018-05-02 20:29:13

图之最短路径

    目前求最短路径的算法很多,下面2种是基本不再使用,但却是经典的路径算法。其他路径算法有启发式算法A*,D*,还有树形的RRT, RRT*等。1. Dijkstra算法    a. 基本思想:求带权有向图中某个源点到其他各顶点的最短路径,Dijkstra算法十分适用。有向图有N={V, arcs[i][j...

2018-05-01 18:22:20

图之最小生成树

    对于一个带权连通无向图G=(V, E),生成树不同,每颗树的权(树中所有边上权值之和)也可能不同。若T为G所有生成树中权值最小的那颗生成树,则T称为G的最小生成树。下面的2种算法就是基于贪心算法的策略提出的,算法很早提出,但经典。即使早就由代码实现过,但仍然有人在此基础上改进提出其他好的方法。1. Prim算法  &nbs...

2018-05-01 12:23:11

图的遍历

1. 广度优先搜索(BFS)    a. 基本思想:类似二叉树的层序遍历,从起始结点v访问,接着依次访问v未被访问的邻接顶点w1,w2,w3,……,wi。再从w1,w2,….., wi等开始访问,与上述相同模式。还可以应用于Dijkstra单源最短路径算法和Prim最小生成算法。     b. 代码boo...

2018-04-30 21:30:55

树之哈夫曼(Huffman)树

1. 概念   实际生活中,树中结点常常表示某种意义的数值,称为该结点的权值。从根结点到任意结点的路径长度(经过的边数)与该结点上权值的乘积称为该结点的带权路径长度。树中所有叶结点的带权路径长度之和称为该树的带权路径长度,记为      WPL = Wi*Li(i=1,2……,n) 带权路径长度(WPL)最小的...

2018-04-30 15:52:33

树之二叉排序树

1. 概念    简称BST,也称二叉查找树。其具备下列特性:       1). 若左子树非空,则左子树上所有关键字值均小于根结点的关键字值       2). 若右子树非空,则右子树上所有关键字值均大于根结点的

2018-04-30 14:47:30

树之线索二叉树

    1. 慨念       传统的链式存储仅体现一种父子关系,不能直接得到结点在遍历中的前趋或后继。到这种二叉链表表示的二叉树中存在大量的空指针,而线索二叉树就是将这些空域利用起来。存放其直接前趋或者后继的指针。 ltag lchild data rchild r...

2018-04-30 10:28:57

vs code 配置.json文件引入makefile文件实现多文件编译

 背景: 之前使用VS code写c++时,没使用到多文件,所以对launch.jason和task.jason配置没过多配置,但不支持多文件间的编译,调试。 注:主要针对较大的一些工程,涉及多个文件的编译,使用到Makefile。如果一个头文件和cpp文件可以看其他教程 平台:Ubuntu 16.04 LTS && VS Code 1.221. launc...

2018-04-29 21:47:08

树与二叉树

1. 树的简介a. 树的定义     一种非线性结构,树是N(N>=0)个结点的有限集合,N=0则称为空树。      1). 有且仅有一个特定的称为根的结点      2). 当N>1时,其余结点

2018-04-29 11:18:25

排序之其他(归并排序,基数排序)

1. 归并排序a. 基本思想     ”归并”的含义是将两个或两个以上的有序表归并组合成一个新的有序表。例如: 待排序表含有n个记录,则可以看成是n个有序的子表,每个子表长度为1,然后两两归并,得到[n/2]个长度为2或1(遗留的1); 再两两归并。。。如此重复直到合并成一个长度为n的有序表为止。2-路归并排序。当然还有3路,4路。。。...

2018-04-28 19:33:51

排序之选择排序(简单选择排序,堆排序)

1. 简单选择排序a. 基本思想     其实思路很简单,就是第i趟排序中从L[i…….n]中,选出关键字最小的元素与L[i]交换。每趟确定一个元素的最终位置。 L[1…..i-1] L[i] L[i+1……n]b. 代码void SelectSort(ElemType A[], int n){ ...

2018-04-28 16:55:03

排序之交换排序(冒泡排序,快速排序)

1. 冒泡排序a. 基本思想     假设待排序比表长为n, 从后向前(或从前往后)两两比较相邻元素的值,若未逆序则交换,直到序列比较完,则称一趟冒泡。最小值如同气泡逐渐向上“漂浮”,直至“水面”。下一趟最小元素已到第一序列,不用比较。待排序列减少一个元素,每趟冒泡都将序列中的最小元素放到序列的最终位置b. 代码void...

2018-04-28 14:33:22

排序之插入排序(直接插入排序,折半插入排序,希尔排序)

1. 直接插入排序   一种最直观,最简单的排序方式。假设在排序过程中,待排序表L[1…….n]在某次排序过程中的某一时刻状态如下: 有序序列L[1…..i-1] L(i) 无序序列L[i+1…….n]   a.操作步骤如下:     &nbsp...

2018-04-28 11:13:33

查找之字符串匹配

简单的模式匹配算法  a. 基本思想:从主串S指定的字符开始和模式串T的第一个字符比较,若相等,则继续逐个比较后续字符串,直到T中的每个字符依次和S中的一个连续的字符序列相等,则匹配成功。若比较途中某对字符不想等,则从主串S的下一个字符开始比较。如果S串比较完,仍没匹配成功,则称匹配不成功。   b. 代码 int Index(SString S, SStr...

2018-04-27 19:01:53

查找之HASH查找

前面的查找是一系列关键字比较,查找速度相对较慢。HASH查找的优势来了 a. 哈系函数: 一个把查找表中的关键字映射成该关键字对应的地址的函数,adde = HASH(key)。 这里的地址可以是下标,索引,或内存地址。 b. 散列表:由根据关键字而直接进行访问的数据结构。散列表建立了关键字和存储地址之间的一种直接映射关系。Hash函数的构造方法 a.直接定址法:H(key) = a*...

2018-04-27 12:18:46

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。