自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Frank的博客

There is no royal road to learning.

  • 博客(23)
  • 资源 (1)
  • 问答 (9)
  • 收藏
  • 关注

原创 链表经典算法题

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

2020-10-03 16:30:17 1633

原创 算法大总结之----10大经典排序算法(从小到大排列)

1. 冒泡排序冒泡排序,顾名思义,就是出头的被排序。其算法复杂度为O(n2n^{2}n2),空间复杂度为O(111)。1.1. 算法讲解将第j个元素和后面的元素依次对比,如果大于序列为j+1的元素,就进行交换。作为对比的基础元素j取值范围为"0 => size - 2"。因为j + 1不可超过size - 1。因而,需要进行对比的j有size - 1个,这个组别用字母i表示。当排...

2020-05-02 10:06:05 8929

原创 提升效率之如何打印出漂亮的带颜色的日志(输出高亮)

日志系统对于一个软件的维护是很重要的,对于直接在本地打印的信息,可能包含非常多,如何才能快速发现自己想要打印的东西呢?带上颜色的输出,绝对是很好的选择。使用c/c++的输出可以照搬shell的,那么先来看下shell怎么花里胡哨的输出。1. 花里胡哨的shell打印第二段就是我想要的结果,而第一段是错误的输出,颜色该结束还没结束,这个下面会说到原因。(不过我感觉都挺好看hhh,程序员的快乐...

2020-03-28 10:15:46 4474 1

原创 Linux快捷键总结

linux有很多快捷键,使用快捷键可以提高效率。每次使用总是去查,简直不要太麻烦,其实记住几个常用的就好了,这次总结一下。1. 常用快捷键功能Ctrl + 左右键在单词之间跳转Ctrl + A跳到本行的行首Ctrl + E跳到页尾Ctrl + U删除(剪切)当前光标前面的文字Ctrl + K删除(剪切)当前光标后面的文字Ctrl + ...

2020-03-25 16:39:25 302

转载 “三次握手,四次挥手”你真的懂吗?(转载)

这篇文章写的非常细,读后感觉豁然开朗。因此分享给大家。转载自:“三次握手,四次挥手”你真的懂吗?记得刚毕业找工作面试的时候,经常会被问到:你知道“3次握手,4次挥手”吗?这时候我会“胸有成竹”地“背诵”前期准备好的“答案”,第一次怎么怎么,第二次……答完就没有下文了,面试官貌似也没有深入下去的意思,深入下去我也不懂,皆大欢喜!作为程序员,要有“刨根问底”的精神。知其然,更要知其所以...

2020-03-23 15:41:04 185

原创 socket编程(一):TCP/UDP基础篇

1. 关键的结构体在说sockaddr_in之前,我觉得有必要列出来sockaddr这个结构体。1.1. sockaddrsockaddr是通用的socket地址,其定义在#include <sys/socket.h>中。struct sockaddr{ sa_family_t sin_family; //地址族,一般使用AF_INET char sa_data[1...

2020-03-13 21:06:37 477

原创 c语言 神奇的可变参数

关于sprintf,printf,这些函数,参数都是不固定的。而这样编程方式,也可以自己来搞定。c语言提供了几个宏就是做这个的。va_list //一个很特殊的类型type va_arg(va_list ap, type);void va_start(va_list ap, last_arg);void va_end(va_list ap);void va_copy(va_list ...

2020-03-11 17:44:20 195

原创 c语言 柔性数组的使用

先说c++吧typedef struct _node { int num; int age[];}node;这个就是所谓的柔性数组。结构中最后一个元素允许是未知大小的数组。(必须是最后一个,这很重要,下面解释)可以试一下,sizeof(node)是4,若将num去掉,sizeof(node)就是1,我们知道空的struct,sizeof是1。有此可发现,柔性数组并...

2020-03-11 11:36:26 659

原创 sqlite3 打印的三种方式

当使用SELECT语句等的时候,想要打印信息,这里提供三种方式1. 使用sqlite_exec的回调函数。sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)第四个函数data是callback的第一个参数。int displaycb(void *para,int ...

2020-03-07 15:56:11 2774

原创 pthread_cond_wait和pthread_cond_signal的使用方法梳理

这两个函数是多线程操作中非常重要的,也是相对来说难理解的。这里梳理一下。首先是函数介绍,int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)这里有两个参数,cond和mutex。cond是条件,这个值可以用宏做声明:pthread_cond_t cond = PTHREAD_COND_INITIA...

2020-03-04 17:44:04 1266 5

原创 线程优先级学习笔记

刚刚学习线程,有一点记录一点。#include <pthread.h>#include <stdio.h> pthread_mutex_t mutex ;void *print_msg(void *arg){ int i=0; printf("this is %d\n",(int*)arg); pthread_mutex_l...

2020-03-04 10:30:00 174

原创 makefile中四种赋值方式

makefile常见的四种赋值有"=",普通等号,不说了":=",会把之前的赋值覆盖掉"?=",若没有赋值,则赋予等号后的值。"+=":普通+=,也不说了今天突然看到的,以前都没注意":=",记录下。“?=”其实也挺有用,担心赋过值,不确定时候,就用这个,保证不会出错。...

2020-03-02 16:02:42 522

原创 linux下编译动态库

#include <stdio.h> //num.cint add_num(int a, int b){ return a+b;}int sub_num(int a, int b){ return a-b;}#include <stdio.h> //print.cint print_num(int n){ printf("result ...

2020-02-21 19:48:17 596

原创 MySQL数据库提供了四种级别的事务隔离,其中默认的隔离级别是?

链接:https://www.nowcoder.com/questionTerminal/4bd14ee6743841e29d5c899a00ccdf93来源:牛客网MySQL数据库提供了四种级别的事务隔离,其中默认的隔离级别是?A.Serializable(串行化)B.Repeatable read(可重复读)C.Read committed(读已提交)D.Read unco...

2020-02-21 17:20:59 767

转载 二叉树知识点汇总

https://dandanlove.com/2017/10/20/about-binary-tree/二叉树知识点汇总二叉排序树是具有下列性质的二叉树:若左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值; 左、右子树也分别为二叉排序树。...

2020-02-21 17:20:45 257

原创 linux编译静态库

#include <stdio.h> //num.cint add_num(int a, int b){ return a+b;}int sub_num(int a, int b){ return a-b;}#include <stdio.h> //print.cint print_num(int n){ printf("res...

2020-02-21 17:19:00 905

原创 记录一次gcc编译遇到的问题

一开始只会编译一个.c文件 gcc xxx.c -o xxxxx得到可执行文件,带头文件就不会了,然后查了下,加上 “-I” + “./”(我的是当前目录)。这样gcc就会在当前目录寻找 .c文件所包含的 .h文件。然后尝试编译这个video_json.c, 发现还是有问题,怎么找不到cJSON的东西。可cJSON.h明明已经包含在当前目录里了啊。。后来查了下发现,才只写gcc vid...

2020-02-19 20:07:05 237

原创 c语言将 unix时间戳转为 年-月-日 时:分:秒 库函数方法

#include <string.h>#include <stdio.h>#include <time.h>void timestamp(char* test_time) { struct tm* t; time_t tt; time(&tt); t = localtime(&tt); sprintf(test_time,...

2020-02-18 10:51:34 2015

原创 虚拟机linux插入U盘搜索不到怎么整

我在/dev下找,使用fdisk,都没有找到插入的u盘。看了下服务vmware的USB也是开启的。最后发现vmware的USB是2.0,改成3.0就好了。又白白浪费了半天时间。。...

2020-02-14 17:29:49 1085

原创 剑指offer: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

后序遍历就是,最后一个节点是根节点,前面的序列可以分为两个序列,一个是左,一个是右,左序列节点值小于根节点的值,右序列节点值大于根节点值。当然,对某非叶一节点,也可没有左或右子树。class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) { if (sequence.empty()) ...

2019-11-10 17:06:21 198

原创 剑指offer 变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public: int jumpFloorII(int number) { if (number <= 0) return 0; if (number == 1) ...

2019-09-21 09:13:33 82

原创 牛牛的背包问题

牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。题目描述牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。...

2019-09-21 09:13:13 396

原创 剑指offer,用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { while(!stack1.empty()) { s...

2019-09-12 10:01:39 76

makefile函数整理.pdf

归纳整理makefile函数,包括 substr/patsubst/strip/findstring/filter/filter-out/sort/word/wordlist/words/firstword/dir/ notdir/suffix/basename/addsuffix/addprefix/join/ wildcard/foreach/error/warning 等函数的定义,注意事项与例子 希望对编写makefile有用

2020-02-23

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

TA关注的人

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