自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

假正经Leo先生

越努力,越幸运。

  • 博客(169)
  • 收藏
  • 关注

原创 Git常见命令

文章目录远端同步到本地分支操作本地同步到远端查看Git 日志Git比较操作回滚操作远端同步到本地git clone <git远端仓库链接> "克隆一个远端仓库到本地,-b branch检出分支"git pull origin <branch> "更新<branch>仓库的远端分支到本地"分支操作git checkout -b feature_x...

2020-04-29 10:13:13 151

原创 剑指offerC++解析和答案

1)二维数组中的查找2)替换空格3)从尾到头打印链表4)重建二叉树5)用两个栈实现一个队列6)旋转数组的最小数字7)斐波那契数列8)跳台阶9)变态跳台阶10)矩形覆盖11)二进制中1的个数12)数值的整数次方13)调整数组顺序使奇数位于偶数前面14)链表中倒数第k个节点15)反转链表16)合并两个有序的链表17)树的子结构18)二叉树的镜像19)顺时针打印矩阵...

2019-04-24 11:07:06 6242

原创 C++服务器项目概述

项目代码:https://github.com/xiaoweixiao/HTTP

2019-02-13 17:07:00 2348

原创 谈谈我对攻读计算机研究生的看法(转)

跨专业考研阶段,给自己的一种勉励!&nbsp; &nbsp; &nbsp; 就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。    如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层...

2018-12-22 15:16:49 800

原创 GitHub使用教程

ssh方法使用GitHub1、首先需要有一个GitHub账号,这个自己搞定。2、在GitHub首页,点击New repository(创建新仓库)3、填写仓库名称、仓库描述、点击Create repository,默认仓库属性是Public(公开的)。4、复制ssh的URL,然后进入Linux系统终端(windows用户需要下载安装Git)5、git clone ssh的URL,之...

2018-12-16 01:36:31 1783 1

原创 【数据结构】数据结构常见链表面试题剖析(上)

反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。来自:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof//** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

2021-07-31 18:36:21 8

原创 欢迎使用CSDN-markdown编辑器(* ̄︶ ̄)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-02-28 18:08:54 25

原创 thrift协议

Server(single-threaded, event-driven etc)服务器进程调度Processor(compiler generated)RPC接口处理函数分发,IDL定义接口的实现将挂接到这里面Protocol (JSON, compact etc)协议Transport(raw TCP, HTTP etc)网络传输

2020-12-02 16:31:53 31

原创 学习资源链接

梯子教程:https://www.tizi365.com/archives/257.html编程之家:https://www.jb51.cc/go/187657.html菜鸟教程:https://www.runoob.com/

2020-11-24 10:29:10 8

原创 抽象工厂

抽象工厂抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何

2020-09-05 23:02:48 54

原创 简单工厂模式

简单工厂package mainimport "fmt"type Food interface { Eat()}type Rice struct {}func (r *Rice) Eat() { fmt.Println("Eat rice")}type Noodles struct {}func (r *Noodles) Eat() { fmt.Println("Eat Noodles")}func NewFood(choose string) Food { i

2020-09-01 09:00:30 65

原创 Go Modules 详解使用

文章目录创建一个新模块添加依赖项升级依赖项删除未使用的依赖项总结自从 Go 官方从去年推出 1.11 之后,增加新的依赖管理模块并且更加易于管理项目中所需要的模块。模块是存储在文件树中的 Go 包的集合,其根目录中包含 go.mod 文件。 go.mod 文件定义了模块的模块路径,它也是用于根目录的导入路径,以及它的依赖性要求。每个依赖性要求都被写为模块路径和特定语义版本。从 Go 1.11 开始,Go 允许在 $GOPATH/src 外的任何目录下使用 go.mod 创建项目。在 $GOPATH/sr

2020-08-27 22:42:56 164

原创 C++迭代器失效

文章目录序列式容器vectordeque关联式容器序列式容器vector向量容器。底层是动态开辟的一维数组,内存可增长,Linux每次增长2倍,Windows每次1.5倍。erase(it)会使it之后节点的迭代器失效。避免方法就是it=erase(it);push_back()会导致若干节点迭代器失效。deque双端队列容器。底层是动态开辟的二维数组,一位数组里全部存的是指针,二维数组是动态开辟的,所以说deque的底层是一个部分连续整体不 连续的结构erase(it)指向的是de

2020-06-21 14:29:21 84

原创 顺序表存储,文件保存

#include<fstream>#include<iostream>#include<string>#include<sstream>using namespace std;class student{ string ID; string name;public: bool operator<(student stu); friend ostream & operator<<(ostream & s,

2020-06-13 08:41:17 272

原创 C++实现单链表

文章目录C++实现单链表C++对象构建与使用,error: taking address of temporary [-fpermissive]error: default argument given for parameter 1 of ‘’ [-fpermissive]C++实现单链表C++对象构建与使用,error: taking address of temporary [-fpermissive]class Node{private: int val; Node *ne

2020-05-21 15:15:57 133

原创 设计模式0

Golang语言是面向接口语言,并非面向对象语言。为了方便使用,有了接口:https://blog.csdn.net/Vickers_xiaowei/article/details/104630797文章目录封装继承多态封装import包封装隔离,大小写实现封装,小写对象外不可见,大写对象外可见。type Human struct{ name string}func(h* Human...

2020-04-28 11:06:01 125

原创 数据库表的约束

表的约束为了保证数据的合法性,除了数据类型限制,还需要有其它约束:表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。空属性两个值:null(默认的)和not null(不为空)数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不...

2020-04-12 21:52:48 213

原创 MySQL基础类型

数据类型为了保证数据的合法性,除了数据类型限制,还需要有其它约束:表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。空属性两个值:null(默认的)和not null(不为空)数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段...

2020-04-08 22:38:50 77

转载 Go: 谨慎使用 math/rand 包中的默认随机数函数

https://mozillazg.com/2019/05/go-be-careful-of-math-rand-functions.html

2020-03-25 13:07:51 303

原创 Go语言实现简单的聊天程序

服务器package mainimport ( "bufio" "fmt" "net" "os")func log(msg string, err error) { fmt.Println(msg, err) os.Exit(-1)}func work(sock net.Conn) { for { var buf [1024]byte n, err := ...

2020-03-10 11:44:34 369

原创 Go语言基础之并发(并发安全和锁)

文章目录互斥锁读写锁sync.Once实现单例模式sync.Map原子操作互斥锁使用互斥锁能够保证同一时间有且只有一个goroutine进入临界区,其他的goroutine则在等待锁;当互斥锁释放后,等待的goroutine才可以获取锁进入临界区,多个goroutine同时等待一个锁时,唤醒的策略是随机的。package mainimport ( "fmt" "sync")va...

2020-03-08 15:18:05 457

原创 Go语言基础之并发(channel通信)

文章目录channelchannel操作有缓冲通道和无缓冲通道从通道取值单向通道channel单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。Go语言的并发模型是CSP(Commu...

2020-03-08 11:57:15 195

原创 Go语言基础之并发(Goroutine)

文章目录并发与并行Go语言实现并发的方式goroutine的使用goroutine之间的通信channel并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。并发与并行并发:同一时间段内执行多个任务(我边微信和女朋友聊天边玩王者荣耀。我在自己复活阶段这个短暂的时间去回复一下微信消息。并不意味着我能在同一时刻玩游戏和陪女朋友)。并行:同一时...

2020-03-08 09:30:00 206

原创 Golang语言基础之反射

Go语言中的变量是分为两部分的:类型信息:预先定义好的元信息。值信息:程序运行过程中可动态变化的。反射概念反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口...

2020-03-06 20:04:31 155

原创 Go语言文件操作

文章目录File方法读取文件File方法写入操作bufio读取文件bufio写入文件ioutil读取整个文件ioutil写入文件File方法读取文件文件的打开和关闭os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。为了防止文件忘记关闭,我们通常使用defer注册文件关闭语句。读取文件file.Read()Rea...

2020-03-03 21:58:20 104

原创 Go语言基础之接口

接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。接口类型在Go语言中接口(interface)是一种类型,一种抽象的类型。interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行...

2020-03-03 14:59:50 114

原创 Go语言基础之time包

package mainimport ( "fmt" "time")func main() { fmt.Printf("-----------------------时间类型和时间戳----------------------\n") now := time.Now() //返回值now是time.Time类型,time.Time是个时间结构体 timestamp ...

2020-03-03 13:14:10 158

原创 Golang关于return原理和defer的执行时机

简单介绍的deferdefer是什么?在Go语言中,可以使用关键字defer向函数注册退出调用,即主函数退出时,defer后的函数才被调用。defer语句的作用是不管程序是否出现异常,均在函数退出时自动执行相关代码。defer的用途在函数中,程序员经常需要创建资源(比如:数据库连接、文件句柄、锁等) ,为了在函数执行完 毕后,及时的释放资源,Go 的设计者提供 defer (延时机制)。...

2020-03-02 17:43:34 268

原创 Golang语言map的应用

文章目录统计一个字符串中的单词数目采用map实现成绩管理统计一个字符串中的单词数目package mainimport ( "fmt" "strings")func main() { //统计一个字符串中的单词数目 str := "I am xiaoming, I am 12 years old. \ I like eat noodles and I'd like to p...

2020-03-02 13:28:17 71

原创 Golang结构体

结构体模拟继承Golang语言没有继承概念,只能通过struct嵌套struct模拟实现package mainimport "fmt"type animal struct{ habitat0 string//栖息地 life0 int//寿命 eat0 string//生存方式}func newAnimal(habitat,eat string,life int)*ani...

2020-03-02 11:39:49 246

原创 Golang下标访问和range访问的区别

package mainimport "fmt"var spl = make([]int, 0, 10)func main() { a := 10 b := 20 spl = append(spl, a) for _, val := range spl { fmt.Printf("range方式修改前:%v\n",val) val = b fmt.Printf("r...

2020-03-02 10:46:32 465

原创 Golang学生成绩管理系统

package mainimport ( "fmt" "os")type student struct { name0 string num0, score0 int}func newStudent(name string, num, score int) *student { //模拟student的构造函数 return &student{ ...

2020-03-02 10:29:40 577

原创 Golang的函数和闭包

文章目录多个参数可变参数多个返回值定义函数类型函数作为参数匿名函数闭包多个参数package mainimport "fmt"func add(x, y int) (ret int) { //x的类型省略,x和相邻的y同类型,返回值指定为ret int,如果返回值仅int,则可返回任意的int数据 ret = x + y //ret直接使用,无须再定义 return /...

2020-03-01 10:04:00 127

原创 1.两数之和--2. 两数相加--3. 无重复字符的最长子串

文章目录1.两数之和26. 删除排序数组中的重复项35. 搜索插入位置1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + ...

2020-02-29 21:18:14 95

原创 删除链表的倒数第n个节点---正则表达式匹配---两两交换链表中的节点

文章目录删除链表的倒数第n个节点正则表达式匹配删除链表的倒数第n个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?/** ...

2020-02-28 16:22:52 111

原创 2048最少的合成次数

2048最少的合成次数■题目描述有一个数字游戏叫做2048,此游戏的规则为,两个相同的数字能进行相加。例如:两个2可以相加,则相加后4的个数加一,2的个数会减二。现在有一串数字,为目前已知的数字的数量。问至少还需要几次相加,才能获得2048 (题目保证能够相加得到2048)。输入描述:第一行为样例数T,代表后面会跟随工组测试数据。每组测试数据输入10个数,分别代表2,4,8,16,3...

2020-02-19 21:50:55 3697 6

原创 Python练习题(二)

11. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。12. 在屏幕上输出以下图案:*************************************************************************************求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于...

2020-02-12 10:12:13 361

原创 Python练习题(一)

打印100~200 之间的素数输出乘法口诀表判断1000年—2000年之间的闰年给定两个整形变量的值,将两个值的内容进行交换。不允许创建临时变量,交换两个数的内容(附加题)求10 个整数中最大值。将三个数按从大到小输出。求两个数的最大公约数。将数组A中的内容和数组B中的内容进行交换。(数组一样大)计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的...

2020-02-09 19:58:28 485

原创 Python语言基础特性(一)

字符串格式化age=24print('age=%d' % age)print('age={}'.format(age))print(f'age={age}')2. 转义字符和原始字符+字符,转义字符:\r、\n、\、\a…r+字符,原始字符:print(r'D:\note'),含义就是让\n不再是转义字符换行的效果,就是字符’\n’3. python中没有++/–操作4....

2020-02-08 13:16:12 221

原创 趣玩Python之Turtle模块绘图

1. 用turtle模块画奥运五环import turtlet = turtle.Pen()t.width(8)t.color('blue')t.circle(50)t.penup()t.forward(130)t.pendown()t.color('black')t.circle(50)t.penup()t.forward(130)t.pendown()t...

2020-02-04 09:18:06 324

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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