自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 git常用使用命令个人总结

git pull 用于从远程获取代码并合并本地的版本,其实就是 git fetch 和 git merge FETCH_HEAD 的简写git stash 所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录git stash list 查看当前stash中的内容git stash pop 将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。该命令将堆栈中最近保存的内容删除(栈是先进后出)git branch -r 查看远程所有分支git branch -a

2022-02-28 16:09:40 174

原创 Linux命令netstat 查询端口和进程信息命令总结

在linux中,netstat命令用于显示网络相关信息网络连接,路由表,接口状态(Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships)其中比较常用的操作:查看端口占用、显示核心路由信息、找出指定程序的端口信息等等常见参数:-a (all) 显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-x(unix)仅显示unix域相关选项-n 拒..

2021-10-08 17:57:55 3525

原创 1字节表示范围-128到127理解总结

一个字节8位,如果是原码方式表示正整数包含0,是0-255范围,2^8共256个,从0000 0000 到1111 1111的排列组合。如果表示负数,符号位(最高位需要占1位)1表示负数,0表示整数,绝对值范围是0-127,2^7=128;一共正负各128个;但是这种情况下0占用了2个编码(1000 0000和 0000 0000),数据表示范围-127~-0和 +0~+127这样总共有256个;实际0占用了正0和负0;这种0占用正0和负0情况,人们想到了另一种编码把负0利用起来,当遇到负数时,

2021-09-16 23:22:38 4579

原创 SNMP简单网络管理协议总结,支持多种认证和加密方式

简单网络管理协议(SNMP)是设计用于IP网路管理网络节点的一种标准协议,它是应用层协议SNMP协议目前在用的有3个版本,分别是V1,V2C,V3版本认证方式有SHA,MD5加密方式有DES,AES需要支持版本、认证、加密不同的方式功能自己也是各种找资料,但是很多资料都是复制粘贴,也不全;所以就把自己的部分实现贴出来,仅供参考:/**@author: 赵秋然*@date:2021年8月7日*@description:snmp.h*/#ifndef __SNMP_H__

2021-08-07 17:31:13 3627 1

原创 linux pthread_join与pthread_detach总结

pthread有2种状态:joinable和unjoinable状态1.linux线程默认是joinable状态,通过pthread_attr_getdetachstate获取通过线程内部pthread_detach(pthread_self()),修改状态为unjoinable,也可通过外部主线程调用pthread_detach(tid)2.如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时,均不会释放线程所占用的堆栈和线程描述符(8k多)资源;当调用

2021-05-18 18:17:40 97

原创 二分查找实现方法总结

二分查找也成折半查找,它是一种效率较高的查找方法;实际查找线性表必须采用顺序存储结构,而且表种元素需要有序排列在实际实现中,总是会有到底是<还是<=的写法,到底是end-1,还是end呢?在起始和结束位置范围是分为2种情况:左闭右闭,左闭右开这里需要区分 闭和开的范围,就能控制好到底是< 还是<=1.以左闭右闭为方式L = 0, R = 6, 左闭右闭 即[0,6] ,当判断下标3之后,值3小于值4,需要判断左侧信息;因为是右闭包含原则,所以不需要在判断下

2021-05-12 18:14:38 228

原创 c++单例模式总结

方法

2021-04-10 22:28:32 158

原创 tcp通信TIME_WAIT状态问题

1 为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?MSL是最大报文生存时间,如果报文超过这个时间,就认为这个报文丢掉了比如客户端A到B进行通讯,对于4次断开(挥手);如果客户A在最后一次发送ack给B,如果中途丢失,客户B会重新向A发送FIN=1,ACK=1,即4次断开第3步骤,如何判断ack是否丢了呢?就是通过MSL(最大报文生存时间)来决定的;如果B发送FIN=1,ACK=1,B会等待2MSL时间,因为B向A发送需要1MSL时间,A.

2021-03-11 18:57:04 208

原创 计算机原码、反码、补码理解

计算机使用一定的编码方式进行存储,原码、反码、补码是机器存储一个具体数字的编码方式1 原码第一位表示符号 正数第一位为0,负数第一位为1,其余位表示值;以8位二进制表示+1 原码 0000 0001-1 原码 1000 0001第一位为符号位(正负数符号位),所以8位二进制原码范围为1111 1111 ,0111 1111 即 -127,127原码是人容易理解的计算表示方式2 反码正数的反码就是其本身负数的反码是在原数基础,符号位不变(第一位不变),其余各个位...

2021-03-03 22:46:03 2488 5

原创 一棵树的中序遍历与后序遍历构造二叉树 c++实现

思路:二叉树后序遍历和中序遍历 可以确定一个二叉树,如果是已知后序和前序遍历不可以确定二叉树,提供的遍历元素中不能有重复元素后序遍历的最后元素是二叉树根节点,通过中序遍历,确定根节点下左右子树,如果有重复元素,就无法在中序遍历元素中确定左右子树了后序遍历元素需要从最后元素,向前进行遍历,再根据中序,确定左右子树分布位置/**@author: 赵秋然*@date:2021年2月20日*@description:中序与后序遍历序列构造二叉树*/#include<ios

2021-02-20 11:20:16 464

原创 用队列实现栈,用栈实现队列,c++写法

用队列实现栈在C++ stl queue中是头部移除元素,结尾添加数据,通过临时队列作为转换就可以实现队列效果代码如下:/**@author: 赵秋然*@date:2021年2月15日*@description:队列实现栈*/#include<queue>class MyStack{ public: MyStack() { } /** Push element x onto stack. */ void push(in

2021-02-15 22:23:03 199

原创 设计模式的一些总结记录

在程序设计中,尤其是面向对象编程时,就会涉及到设计模式思想,使用设计模式会令程序更容易扩展,更易于理解,模块功能之间更独立等等好处设计模式属于抽象思维,抽象一些业务需求抽象原则是 封装稳定点,如果没有稳定点那么就无法使用设计原则我们必须对当前代码业务非常熟悉,那些是稳定的,那些不是稳定的,对稳定的进行抽象如果为了设计模式而设计模式,那还是不推荐的对设计模式的理解更多需要掌握设计原则,而不是设计模式模式设计原则总结如下:依赖倒置原则高层模块不应该依赖低层模块,二者都应该依赖抽象;

2021-02-15 16:36:58 84

原创 makefile与cmake部分总结

makefile在程序编译工作中,Makefile是一个指示make程序,在软件项目的编译环境,最为重要的是掌握目标和依赖;目标是指要干什么,运行make后生成什么;依赖是告诉make如何实现目标;在makefile中,目标和依赖是通过规则(rule)来表达的。准备环境,需要linux环境,make -v 命令验证是否安装make工具基本命令:all: @echo "hello world"test: @echo "make test"@echo是tab键不是空格

2021-02-09 16:29:11 159

原创 网络通信与reactor原理总结

网络编程基本流程图如下:在网络通信中io会有阻塞和非阻塞形式,阻塞一般出现在网络线程中,可以通过fcntl将网络套接字设置成非阻塞模式,默认创建的套接字为阻塞模式如果套接字设置成非阻塞模式,在解析力啊read write就会表现出非阻塞模式非阻塞和阻塞io主要差异,在数据未到达时,非阻塞体现在当有数据是立刻返回,反之阻塞具体如下图所示:阻塞io模型+多线程方式:每一个线程处理一个fd连接优势:处理及时; 缺陷:线程利用率低,线程的数量有限的io多路复用(网络线程)

2021-02-08 17:12:49 155

原创 redis相关数据结构基础总结

redis支持五种数据结构 string(字符串), hash(哈希),list(列表),set(集合),zset(有序集合)key-value形式存储内存数据库,操作redis相当于操作unordered_map,unordered_map内部实现了哈希表,查找速度非常快redis存储key没有采用map 红黑树平衡二叉搜索树形式,Olog(N)时间负责度查询速度很快的,redis对key数据进行存储或者查找时候,key需要对每一个节点进行字符比较速度会很慢的;使用hash(即unorde..

2021-02-06 13:49:00 98

原创 自己实现的一种简单线程池

线程池有很多种不同的理解认识,自己总结是一种方式主要目的:并行处理,加快程序处理速度比如一张图片40MB,需要对图片进行处理,可以分成4份,分配给4个线程分别处理,同一时间4份同时处理完成了但是实际运行场景会有各式各样的情况,就需要对不同场景,进行调整适配了具体线程数并不是越多越好,是有一个限定最事宜的实现的方式:是通过链表将数据关联起来,从头部插入数据,线程从尾部进行取出数据的思路,这样的目的是可以将最早的数据进行先行处理了只是一个雏形,还需要很多改进#include<

2021-02-02 15:49:06 82

原创 布隆过滤器的一些总结理解

应用背景:在内容中,查找某个单词是否存在网络爬虫url程序,判断去爬的url是否访问过垃圾邮件(短信)过滤算法设计公共安全,判断嫌疑人是否在网逃名单中以上的应用背景都是在很多数据中,判断是否存在其中需求:在海量数据中查询某条信息是否在解决思路:c++ 中常见stl容器结构set和map结构,都是采用红黑树实现方式,增删改查的时间复杂度o(log⑵N)红黑树是可以存储相同key可以信息,map存储key和value信息,set只存储key信息不可重复优势:存储效率高

2021-01-28 22:41:23 86

原创 linux系统常用网络调试命令

1 ifconfig查看和设置网络设备显示网络设备信息:ifconfig启动指定网卡 ifconfig eth0 up 关闭指定网卡 ifconfig eth0 down配置临时ip地址ifconfig eth0 192.168.1.22 eth0网卡设置ip地址ifconfig eth0 192.168.1.22 netmask 255.255.255.0 配置ip地址,并配上子掩码ifconfig eth0 192.168.1.22 netmask 255.255.255...

2021-01-27 11:50:56 1388

原创 linux系统常用调试监控命令总结

1 grep搜索字符grep在文件中执行搜索关键词搜索,显示匹配的效果-c 仅显示找到的行数-i 忽略大消息-n 显示行号-r 递归搜索文件目录示例:grep new_capacity string_buffer.c 查找new_capacity关键字,string_buffer.c文件中查找grep new_capacity *.c 查找new_capacity关键字,在当前目录下所有已.c文件中查找grep new_capacity *.c src/ -...

2021-01-27 10:53:46 93

原创 关于插入排序和希尔排序的总结

平时提到希尔排序搞不懂到底是啥,看了些资料介绍希尔排序是插入排序的更高效版本,进行简略总结一下吧先总结一下插入排序是稳定排序,主要思想是通过2次循环先取外部元素a,在内部循环中从后边向前边比较,在内部元素序列寻找合适的位置,将a放置到该的位置上外部循环再次向后偏移,直至元素结尾,排序完成代码如下:/**@author: 赵秋然*@date:2021年1月26日*@description:插入排序*@param arr:整形数组*@param len:数组*@return

2021-01-26 16:17:19 103

原创 kmp算法中next和nextval计算方法和代码总结

此篇文章总结的 基于kmp中的模式串方式关于next图解如下举例:字符串 “ababaa”索引 0 1 2 3 4 5 字符 a b a b a a next 0 0 1 1 2 3 next定义写法从索引1位置开始计算,除去第i位置,从0到 i-1,前后缀中最长重复字符长度next[0]=0 默认0,没有前后缀next[1] =0,字符a...

2021-01-19 23:35:01 6102 2

原创 kmp算法中字符串前后缀公共长度的总结

kmp算法比较重要的一步骤,需要根据模式串构建next或nextval数组根据的是字符串前后缀公共字符串最大长度来进行构建的字符串前缀的意思是,不包含字符串最后的元素,但是必须有前边元素组成的所有组合,组合由第一个元素,向后进行组合字符串后缀跟前缀反之,不包含字符串第一个元素,但是必须有后边元素组成的所有组合,组合有最后一个元素,向前进行组合举例:字符串 “Mbabak”前缀字符串组合不包含最后一个元素'k', 组合有 M,Mb,Mba,Mbab,Mbaba ;后缀字符串组合..

2021-01-19 22:08:08 1911

原创 关于kmp字符串查找的理解总结

关于字符串查找匹配算法kmp,进行一下个人总结,希望也能帮到大家;举个例子:主串:“aaababaaccddee”模式串:“ababaa”在主串中查找模式串是否存在,如果存在位置,出现在主串的那个位置模式串,通过前后缀相同字符串构建next数组或者构建nextval数组;当模式串在主串中进行匹配时候,当模式串与主串不匹配时,模式串根据next或则nextval数组进行有效回退,减少无意义的重头回退和重头匹配加快了查找速度模式串可以构建2种跳转数组,一种是next数组,另一种.

2021-01-19 21:48:20 114

原创 2017年脚伤记录

在2017年6月中旬 马路铺完柏油,马路边缘没有铺油,并且开槽了;下马路时踩在了槽与柏油的折角上,全身重量压在左脚上,当时是剧烈疼痛,左脚骨头有些小骨折,休息了一段时间

2021-01-13 15:53:08 122

原创 链表中倒数的第N个节点如何查找

一个单向链表,查找倒数的第N个结点位置主要思想:2个指针办法,前指针偏移N个位置,后指针指向链表头部 前后指针同时向后偏移,当前指针指向NULL,此时后指针就是倒数N个节点位置代码如下:/**@author: 赵秋然*@date:2021年1月10日*@description:链表倒数结点*@param head:链表*@param k:倒数的位置*@return: 返回链表指针*/int getLength(ListNode *head)...

2021-01-10 22:11:35 245

原创 2个链表判断查找是否有公共结点的总结

看到一个题目判断链表是否有公共结点,题目大意如下:找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。一种解决思想是:A链表和B链表同时进行向下一个结点进行偏移一位,假如:当某A结点到了结尾时,开始从B链表头进行向下偏移;当B到达了结尾,开始从A链表头进行偏移如果A链表长度为5,B链表为6,最终A和B都各自偏移(5+6)11次会相遇的,此时就是链表的公共结点位置了再次之前 我有个疑问,会不会A和B进入不断的死循环,互相交替偏移...

2021-01-10 21:58:36 407

原创 链表判断是否有环的一种写法

之前曾有问过链是否有环,一直也没写过,今天进行一下总结:一种写法,快慢指针方式,因为快指针比慢指针跳转的快所以如果快指针为NULL了,那么就不是环;如果快指针不断运行早晚都会和慢指针重合的/**@author: 赵秋然*@date:2021年1月10日*@description:判断链是否有环*@param head:链表头结点*@return: 正确:1, 失败: 0*/bool listHuan(ListNode *head){ if (head == NULL

2021-01-10 17:05:05 67

原创 链倒排序头部插入写法总结

对于链倒排序写了三种:1 原地反转法https://blog.csdn.net/abk921/article/details/1120567112 递归法https://blog.csdn.net/abk921/article/details/1123439253 头部插入法这次实现的是头部插入法实现总结:自己画的示意图如下:代码是:/** * struct ListNode { * int val; * ListNode *next; *...

2021-01-08 09:05:09 153

原创 链倒排序递归写法

一种递归的实现方式总结如下:class Solution{ public: ListNode *reverseList(ListNode *head) { if (head == NULL || head->next == NULL) { return head; } ListNode *pcur = reverseList(head->next); hea

2021-01-08 08:04:01 86

原创 浮点数比较总结记录

很多网上的资料写浮点数记录不全面,会有很多不够清晰,最近自己总结一下,如果有不全面希望指正出来/**@author: 赵秋然*@date:2021年1月2日*@description:判断浮点数比较总结*/#include<stdio.h>#include<math.h>double epv = 1e-8;//相等#define EQU(a,b) ((fabs((a)-(b))) <(epv))//小于#define LESS(a,b) (((a

2021-01-02 22:36:32 106

原创 链倒排序的一种写法

平时会有提问,也是个总结点吧class Solution {public: ListNode* reverseList(ListNode* head) { ListNode * front = NULL, * cur = head, * ncur = NULL; while(cur) { ncur = cur->next; cur->next = front;

2020-12-31 23:05:59 92

原创 2020年的个人简略总结

2020年上半年肺炎疫情一直在家里办公,在农村,人员不聚集,没受到影响,11月中旬参加了专升本统考计算机和英语考试,12月份纠结一下刚开始写一些文章,也是作为一下记录和分享马上2021年,希望在技术上有更多的理解和认知,学位英语考试也需要准备一下才行个人的文章希望能有更多的创造和总结在里面,现在写的状态也同时作为一个记录,来年再对比一下现在的成长和提升在哪里。...

2020-12-31 22:47:17 62

原创 判断ip地址是否有效函数

总结了一个函数:/**@Description:判断字符串ip地址是否有效*@param ip_v: 字符串*@return :正确:0, 失败:-1*/#include <string.h>#include <stdio.h>#define IP_LEN 20#define IP_SUCC 0#define IP_FAIL -1int is_valic_ip(char *ip_v){ if(ip_v == NULL) {

2020-12-30 22:58:24 734

原创 自己总结c语言结构体和共用体的不同写法

看到过结构体定义写法常用的是这种方式struct st{ int value;};自己从平时整理一下,还有如下,(如果不全后续补充一下)struct { int value; }b,c;这个结构体没有名称,声明了没有名称的结构体变量b和c(读起来有些拗口);struct st1{ int value;}d,e;这个结构体名称st1, 变量d和e也已经声明完成了struct str2{ int value; int va..

2020-12-29 23:26:56 194

原创 第一次发布文章记录一下!

纠结了很久,中间也是有些顾虑的;马上2021年了,给自己打打气,发篇自己所感;通过发布文章!自己总结知识点,也让别人能够了解我吧,同时也是分享一些自己知道的技术知识虽然大部分人都会拿去用了,也没啥的!也希望能通过这个平台,大家互相学习交流,自己的理解能帮助到别人也是挺好的!...

2020-12-28 23:20:07 75

Makefile手册.zip

Makefile手册.zip

2021-01-26

空空如也

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

TA关注的人

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