GUI1259802368的博客

本博客的主要作为自己的学习笔记,并不是以教授知识为目的。如果有人能从我的博客中学到东西,我很高兴。有人发现文章中有不对的地方,也欢迎大家纠正。...

二叉树的各种操作

二叉树的各种操作 1、树的递归遍历 2、求二叉树中节点的个数 3、求二叉树中叶子节点的个数 4、求二叉树的深度 5、求第k层节点数 6、树的非递归遍历 7、求一棵二叉树的镜像 8、判断两棵树的结构是否相同 9、判断一棵树是否平衡 10、将二叉查找树变为有序的双向链表 11、判断一棵树是否是另一棵树...

2018-04-01 09:31:39

阅读数 1056

评论数 0

单链表的各种操作

1、从单链表中删除指定元素 2、翻转单链表 3、求单链表中节点个数 4、查找链表中倒数第K个节点 5、查找链表中间节点 6、倒序打印单链表 7、已知两个单链表pHead1 和pHead2 各自有序,把它们合并成一个链表依然有序 8、判断一个单链表是否有环 9、判断两个单链表是否相交...

2018-03-30 08:41:15

阅读数 1051

评论数 0

C/C++ 常用内存操作函数的实现

1、函数:memcpy原型:void *memcpy(void *dest,void const *src,size_t length) 功能:memcpy从src的起始位置复制length个字节到dest的内存起始位置说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针 v...

2018-03-13 14:57:09

阅读数 1015

评论数 0

C/C++ 常用字符串函数实现

1、函数名: strcpy功  能: 将参数src字符串拷贝至参数dest所指的地址用  法: char *strcpy(char *dest, const char *src);返回值: 返回参数dest的字符串起始地址说  明: 如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情...

2018-03-11 16:01:09

阅读数 1276

评论数 0

23种设计模式分类

1.创建型模式 1)Factory模式 2)AbstactFactory模式 3)Singleton模式 4)Builder模式 5)Prototype模式 2.结构型模式 1)Bridge模式 2)Adapter模式 3)Decorator模式 4)Composite模式 ...

2019-06-01 21:14:15

阅读数 12

评论数 0

Opencv surf算法

特征点检测与匹配算法——surf #include <opencv2/opencv.hpp> #include <opencv2/nonfree/nonfree.hpp> #include <sys/time.h&g...

2019-05-19 10:33:04

阅读数 23

评论数 0

Opencv 阈值化处理

阈值化算法(使用滑动条) #include <opencv2/opencv.hpp> using namespace std; using namespace cv; #define WINDOW_NAME "【程序窗口】" int g_nT...

2019-05-18 17:34:27

阅读数 27

评论数 0

go语言exec包的使用

有时候我们的go程序需要执行外部的命令,比如执行linux shell命令,一个其他语言(比如C语言)编写的二进制文件,我们都可以通过调用go语言exec包的函数来执行。下面将介绍exec包的一些简单使用例子。 1. exec.Command执行命令 假设我们要执行调用linux的pin...

2019-03-10 17:19:11

阅读数 80

评论数 0

go 语言中的定时器

       在日常的开发过程中,我们免不了与定时器打交道。通常需要定时执行某个程序,可能是每隔一段时间执行一次,也可能是固定的每天在某一个时间点执行一次。总之,定时器的使用是非常频繁的,下面将介绍几种常用定时器。 1. 假设每隔三秒,我们打印一段信息,可以采用如下方式。我们将要执行的程序放在一...

2019-02-25 23:10:10

阅读数 76

评论数 0

redis pipe处理大数据操作

       假设我们现在有一个需求,需要往redis中添加1000完条数据。注意这1000万数据是没有重复的,因此我们只需要把这1000万数据添加到redis中的一个集合中。 命令行添加方式如下: SADD  [集合名称]  成员1,成员2,... 例如 SADD FRUIT app...

2019-02-24 16:11:38

阅读数 159

评论数 0

Linux 去掉^M的方法

转自:http://blog.csdn.net/lhf_tiger/article/details/8203013 真恶心,10X流程产生的csv文件的行位居然有^M字符,害我一直在找报错原因,真是坑,还好最后我找出来了。一直在用Python,perl是越来越不熟练了。调试花了好久。 替换^M...

2018-12-17 10:13:35

阅读数 215

评论数 0

centos下perl的升级

1.访问http://www.cpan.org/authors/id/S/SH/SHAY/ 下载perl版本 2.将下载下来的安装包放到你的目录里边 # 解包 tar -zxvf perl-5.26.1.tar.gz # 进入文件目录 cd perl-5.26.1 进入解压目录执行 ....

2018-12-10 09:56:29

阅读数 365

评论数 0

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法

https://pkgs.org/download/libstdc++ centos 7 64位系统,本人在升级完gcc7.3.0之后,发现编译项目工程,结果会出错:libstdc++.so.6: version `GLIBCXX_3.4.20' not found 解决方法如下: [ro...

2018-12-10 00:07:11

阅读数 490

评论数 0

Go语言常用字符串操作

1. 去除字符串中多余空白字符 package main import (   "fmt"   "strings" ) //利用正则表达式压缩字符串,去除空格或制表符 func compressStr(str stri...

2018-11-29 14:04:19

阅读数 69

评论数 0

go语言解析json字符串

go语言解析json数据主要使用go语言自带的json转换库encoding/json 1. json.Marshal函数 该函数的作用是主要对象转换为JSON字符串数据,函数原型如下: func Marsha (v interface{})([]byte, error) 也就是说,这个函...

2018-11-29 13:56:33

阅读数 127

评论数 0

PTAM在Linux下编译运行

一. 环境搭建 配置:Ubuntu14.041. 前期准备 (1)更新软件源 sudo apt-get update(更新软件列表) sudo apt-get upgrade(更新已安装的软件) (2)安装build工具 sudo apt-get install build-essent...

2018-10-31 20:59:18

阅读数 208

评论数 0

Opencv Harris和FAST角点检测算法

Harris算法 #include<opencv2/opencv.hpp> #include<time.h> #include<sys/time.h> using namespace cv; using na...

2018-10-28 14:17:49

阅读数 239

评论数 0

Go语言并发模型——通道

       原子函数和互斥锁都能工作,但是依靠它们都不会让编写并发程序变得更简单,更不容易出错,或者更有趣。在Go语言里,你不仅可以使用原子函数和互斥锁来保证对共享资源的安全访问以及消除竞争状态,还可以使用通道,通过发送和接收需要共享的资源,在goroutine之间做同步。        当一个...

2018-10-18 09:17:49

阅读数 114

评论数 0

Go语言并发模型——竞争状态

       如果两个或者多个goroutine在没有互相同步的情况下,访问某个共享的资源,并试图同时读和写这个资源,就处于相互竞争的状态,这种情况被称作竞争状态。对一个共享资源的读和写操作必须是原子化的,换句话说,同一时刻只能有一个goroutine对共享资源进行读和写操作。 下面这一个程序将会...

2018-10-16 14:17:47

阅读数 87

评论数 0

Go语言并发模型——goroutine

       Go语言里的并发指的是能让某个函数独立于其他函数运行的能力。当一个函数创建为goroutine时,Go会将其视为一个独立的工作单元。这个单元会被调度到可用的逻辑处理器上执行。Go语言运行时的调度器是一个复杂的软件,能管理被创建的所有goroutine并为其分配执行时间。这个调度器在操...

2018-10-15 09:01:54

阅读数 199

评论数 0

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