自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++算法(十三)归并排序 分治法的典型应用--撸完睡觉

分治法的应用

2022-03-20 22:31:13 1809

原创 C++算法(十二)冒泡排序 最基础的排序算法

文章目录冒泡排序一、题目描述二、解题思路及代码实现1、解题思路2、C++代码实现三、提交结果总结冒泡排序一、题目描述给定一个数组 in,请实现插入排序算法。示例:输入: in = [3,4,2,1,5,0]输出: ret = [0,1,2,3,4,5]二、解题思路及代码实现1、解题思路冒泡排序的思想:内循环:数组从最左边开始,依次比较相邻的元素,如果左侧元素大于右侧元素,则交换两个元素,直到最右侧的元素。这样一轮循环下来,最大元素已经被交换到了最右侧。外循环:控制内循环。每执行一

2022-03-13 22:02:42 2624

原创 C++算法(十一)队列的最大值 -- 官方解法,算是学习了队列和双端队列吧

文章目录队列的最大值一、题目描述二、解题思路及代码实现1、解题思路2、C++代码实现三、提交结果总结队列的最大值一、题目描述请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入:[“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop_front

2022-03-13 22:02:07 2114

原创 C++算法(十)插入排序--算法导论第一个算法,趁着堵车的时间撸一个算法再下班

插入排序就像玩扑克牌一样,是最简单的一种排序算法。

2022-03-10 18:27:49 628

原创 Word 转 Markdown

Word转md

2022-03-10 15:21:30 4543

原创 C++算法(九)滑动窗口的最大值

文章目录滑动窗口的最大值一、题目描述二、解题思路及代码实现1、解题思路2、C++代码实现三、提交结果总结滑动窗口的最大值一、题目描述给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3

2022-03-06 21:54:51 1187

原创 C++算法(八)左旋转字符串

旋转字符串的几种解决方案

2022-03-03 10:37:28 605

原创 C++算法(七)复杂链表的复制

借助vector和map容器实现链表复制

2022-02-28 17:18:47 715 1

原创 C++算法(六)包含 min 函数的栈

使用单向链表实现带min函数的栈

2022-02-28 15:03:37 857

原创 C++算法(五)反转链表

这个解题思路有点像滑动窗口,同时移动三个指针。后面还有c++栈的使用例子。

2022-02-25 11:38:47 1020 1

原创 C++算法(四)判断字符串是否是数值

想学状态机的同学看过来~有技巧哦

2022-02-24 16:48:16 3853 1

原创 C++算法(三)用两个栈实现队列

用两个栈实现单向队列

2022-02-23 16:28:57 536

原创 C++算法(二) 从尾到头打印链表

从尾到头打印链表

2022-02-23 14:34:27 912

原创 C++算法(一)字符替换

字符替换

2022-02-23 10:49:39 1010

原创 乐观锁与悲观锁--学习笔记

文章目录前言一、悲观锁1、悲观锁用例一2、悲观锁用例二二、乐观锁1、版本号保证数据一致性2、CAS算法保证数据一致性总结前言在多线程编程当中,为了保证数据的一致性,需要使用锁机制。比如Qt中的std::mutex,在读写数据之前lock,处理完数据之后unlock。这种锁机制,我们通常称为悲观锁,即悲观的认为数据不安全,容易出错,所以在操作前夹锁,保证数据一定是多线程安全的。另外,我在看一些技术文章时,还看到一种锁:乐观锁,挺好奇的,它的机制是怎么样的?一、悲观锁悲观锁:每次操作数据之前加..

2022-01-04 16:11:35 737

原创 Redis 数据类型--字典 学习笔记

文章目录前言一、字典是什么?二、Redis字典实现1.哈希表2.字典3.字典源码总结前言本文是记录Redis字典数据类型的具体实现细节。Redis使用哈希表作为字典的底层实现,一个哈希表里可以有多个哈希表节点,每个哈希表节点保存一组键值对。我们可以通过Redis定义的数据结构及API,了解字典的具体实现原理。一、字典是什么?字典,又称符号表或映射(map),是一个键值对(key-value)的集合。在字典中,每个键都是独一无二的,在程序中,我们可以通过key来操作对应的键值对,如查找值、修..

2021-12-21 11:17:28 380

原创 Redis 数据类型--整数集合 学习笔记

文章目录前言一、intset定义二、源码观摩学习总结前言Redis底层整数集合(intset)学习笔记。这个数据类型比较简单,主要知识点是集合元素的升级、元素的查找和插入操作。在元素查找的实现里,使用了二分查找算法,想学习Redis二分查找实现的,可以往下拉,代码在第二部分(intsetSearch)。在一般的查找实现里,基本都会直接使用二分查找算法对整个有序容器进行查找,而Redis的做法是:先判断查找的元素是否落在容器索引范围之外,在范围外的,直接返回容器首(尾)索引即可进行后续操作,只有索引..

2021-12-16 10:41:47 1259

原创 Redis list数据类型学习笔记

文章目录前言一、list类型定义二、API总结前言在Redis中,不仅实现了sds字符串类型,还实现了列表类型。一、list类型定义在Redis中,列表类型也如同字符串类型一样,封装了一些必要的属性和操作,方便列表的使用。len:列表包含的节点数量,取列表长度时无需再遍历列表。包含队首、队尾和迭代器,方便遍历列表。包含节点的值的常用操作:比较、复制和内存释放,使用起来非常方便。/* Node, List, and Iterator are the only data struc..

2021-12-13 16:00:41 670

原创 Redis string数据类型学习笔记

文章目录前言一、Redis SDS是什么?二、Redis SDS数据结构三、Redis SDS优点总结前言        最近在学习Redis相关的知识,在看Redis五种基本数据类型时,发现里边的字符串类型和以前C语言的不一样,他是Redis内部重新实现的一种数据类型--简单动态字符串(SDS)。C语言的字符串必须以‘\0’结尾,字符串的中间不能包含'\0',这些限制使得C语言字符串只能保存文本数据。二Redis..

2021-12-12 22:41:24 1082

原创 数据结构--跳表的原理与实现

文章目录前言一、跳表是什么?二、跳表的由来1.数组的优缺点2.列表的优缺点3.跳表的原理三、跳表的节点定义及查找实现1.跳表节点定义2.跳表节查找总结前言        最近在看Redis资料的时候,看见了跳表这种数据结构,非常好奇跳表是什么样的一种数据结构,它的原理是怎么样的,有什么优点值得Redis使用这种数据结构来开发功能?所以,就查了一些资料,看了不同的实现版本,总算是明白跳表的原理了,这里总结一下,分享给..

2021-12-06 09:14:09 1252

原创 Reactor模式--学习笔记

目录前言一、Reactor模式总结1、模式意图2、参与者3、结构、协作二、Reactor模式简单示例1、用例描述2、示例代码前言        今天看了一篇文章《Redis高性能怎么做到的》,文章提到了非常多的设计思想和软件开发技术,受益匪浅。在这篇文章中,提到了一种设计模式--reactor模式,于是就花了一点时间探究一下这个模式的原理,整理成这篇文章,分享给大家。一、Reactor模式总结 &n

2021-11-25 15:25:51 373

原创 Strategy(策略)模式

目录前言一、策略模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、策略模式简单示例1、用例描述2、示例代码前言        本周五参加了Strategy(策略)模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是策略模式的基础知识总结;第二个部分是分享策略模式简单示例。一、策略模式总结   &n

2021-10-25 18:06:56 707

原创 Observer(观察者)模式

目录前言一、观察者模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、观察者模式简单示例1、用例描述2、示例代码总结前言        本周参加了Observer(观察者)模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是观察者模式的基础知识总结;第二个部分是分享观察者模式简单示例。一、观察者模式总结  &

2021-09-21 17:40:03 440

原创 备忘录模式(Memento)

目录前言一、备忘录模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、备忘录模式简单示例1、用例描述2、示例代码总结前言        本周五参加了Memento(备忘录 )模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是备忘录模式的基础知识总结;第二个部分是分享备忘录模式简单示例。一、备忘录模式总结  

2021-09-05 21:42:51 350

原创 websocket客户端和服务器开发总结

文章目录前言一、websocket资料1.什么是websocket2.websocket优缺点3.WebSocket 原理4.WebSocket 源码下载二、客户端1.开发2.测试三、服务器1.开发2.测试总结前言本文是websocket客户端、服务器开发总结文档,记录从资料收集、代码编写到程序测试等需要注意的事项,帮助同样需要开发websocket的同学能快速完成开发任务。一、websocket资料1.什么是websocketWebSocket是一种在单个TCP连接上进行全双工通信的协..

2021-09-03 13:58:02 2968

原创 C语言解析json--超详细,接口、参数全覆盖,一看就会

文章目录前言一、json是什么二、C语言解析json1.下载cJSON库文件2.使用cJSON接口解析json总结前言c语言生成json在我之前的博客有详细说明,想学习的同学可以跳过去看,这篇博客介绍c语言解析json,和生成过程相反,解析json的目的是从json文件中解析出里面的对象及对象的值。一、json是什么JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的..

2021-08-27 11:35:50 11416 1

原创 C++11标准pdf下载,官方,完全免费

C++11,先前被称作C++0x,是目前计划中的C++编程语言的新标准。它将取代现行的C++标准ISO/IEC 14882,公开于1998年并于2003年更新,通称C++98以及C++03。新的标准将会包含核心语言的新机能,而且会扩展C++标准程序库,并入了大部分的C++ Technical Report 1程序库(数学的特殊函数除外)。最新的消息被公开在ISO C++ 委员会网站(英文) (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/) 。国际标准

2021-08-16 09:48:52 2170

原创 C++11标准之Lambda表达式----c++11标准读书笔记

文章目录前言一、什么是Lambda二、C++中Lambda表达式1、基本语法2、语法解释3、c++用例无外部变量外部变量total以显式引用方式传入外部变量total以隐式引用方式传入外部变量total以隐式引用方式传入,value以传值方式传入Lambda表达式在类成员函数内的使用存储 lambda 函数总结前言        在标准C++,特别是当使用 C++ 标准程序库算法函数诸如sort 和find,用户经..

2021-08-16 09:16:24 109

原创 Mediator(中介者)模式

目录前言一、中介者模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、中介者模式简单示例1、用例描述2、示例代码前言        本文是这周学习的中介者模式的一个总结,希望对想了解这个模式的同学有所帮助。一、中介者模式总结        1、模式意图     &n

2021-08-13 16:42:17 66

原创 阿里云服务调用测试方法--超级详细,一看就会

文章目录前言一、服务调用开发1.开发所需要的基础资料汇总2.服务调用协议二、服务调用测试步骤1.新建公共实例产品和设备2.添加自定义服务3.在线调试总结前言本文是参与阿里云相关功能开发的一个总结文档,描述如何使用阿里云提供的SDK开发应用程序所需要的资料及如何进行服务调用的调试测试。这不是一个开发教程,只是资料汇总和调试测试方法记录,方便以后二次开发及测试。作者也是首次接触阿里云,所以相关知识也仅仅局限在阿里云官方提供的文档及阿里云官方工单回复的相关内容。希望本文梳理的内容能够帮助更多需要开发测试..

2021-08-10 16:59:33 2072 1

原创 Ubuntu 20.04桌面很卡的解决方案--亲测有效

现象描述:Ubuntu 20.04开机后,桌面原因分析:提示:这里填写问题的分析:例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。解决方案:提示:这里填写该问题的具体解决方案:例如:新建一个 Message 对象,并将读

2021-08-09 10:55:54 12479 3

原创 迭代器(Iterator)模式

目录前言一、迭代器模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、迭代器模式简单示例1、用例描述2、示例代码前言        本文是这周学习的迭代器模式的一个总结,希望对想了解这个模式的同学有所帮助。对于迭代器,学习C++的同学都不会陌生,在STL的中,容器、算法、迭代器中,这里的迭代器就是对迭代器模式的一个应用。下面,将对这个模式做一个简单介绍。一、迭代器模式总结  &n

2021-08-01 21:18:09 163

原创 解释器模式

目录前言一、解释器模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、解释器模式简单示例1、用例描述2、文法定义3、示例代码前言        本周五参加了Interpreter(解释器)模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是解释器模式的基础知识总结;第二个部分是分享解释器模式简单示例。一、解释器模式总结&nbsp

2021-07-18 22:22:10 138

原创 Command(命令)模式

目录前言一、命令模式总结1、模式意图2、参与者3、结构、协作、适用性及效果二、命令模式简单示例1、用例描述2、示例代码总结前言        本周五参加了Command(命令 )模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是命令模式的基础知识总结;第二个部分是分享命令模简单示例。AWTK-MVVM 是一套为 AWTK 用 C 语言开发,并支

2021-07-04 22:01:22 4609 2

原创 Linux命令汇总

文章目录前言一、常用命令cd /cd mntpwdsudo chmod -R 777 folder_namels -lasudo susu usernameapt-get install packagenamechmod +x filenamecd -. /etc/profiletar -xvf filenameps afx|grep aptkill -9 110前言以下是工作中遇到的常用的linux命令,每遇到一个命令将会添加进来,方便以后自己查看,新手玩家,命令只能一个一个学,一起努力吧。一、

2021-07-01 15:34:24 164

原创 http开发资料汇总

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、http基础知识1、http是什么2、http工作原理3、http请求消息格式4、http响应消息格式二、curl库三、postman总结前言        最近在学习http开发,本文的目的是对http开发基础资料的一个汇总,方便以后复习,分享出来,希望对同样想学习http的同学有所帮助。本文一共三个部分,第一个部分是http协议的最

2021-06-27 16:25:16 1782 2

原创 AWTK之wbuffer的应用

AWTK之wbuffer的应用前言一、wbuffer_t类定义二、wbuffer_t类实现三、wbuffer_t应用总结前言        最近在做http协议的响应消息解析,由于响应消息的各字段的key/value长度是不确定的,解析的时候如果想保存解析结果,需要动态申请很多长度不一的内存用于保存解析结果,这样的操作过于麻烦,极有可能由于管理不当,产生内存泄漏。为了解决这个问题,李老师的 [AWTK](https:/

2021-06-20 21:08:02 159 1

原创 Chain of Responsibility(职责链)模式

Chain of Responsibility(职责链)模式总结前言一、职责链模式总结1、模式意图2、参与者3、结构及效果二、享元模式应用示例1、用例背景描述2、用例结构图3、类说明总结前言        本周五参加了Chain of Responsibility(职责链)模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是职责链模式的基础知识总结;

2021-06-14 21:21:14 159

原创 C语言的面向对象写法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..

2021-06-06 22:22:19 937 2

原创 Proxy(代理)模式

Proxy(代理)模式总结前言一、代理模式总结1、模式意图2、参与者3、结构4、适用性5、效果二、代理模式应用示例总结前言        本周五参加了Proxy(代理)模式研讨会,本文的目的是对这个模式的总结和分享,希望对需要学习这个设计模式的同学有所帮助。本文一共分为两个部分,第一个部分是代理模式的基础知识总结;第二个部分是一个例子分享。一、代理模式总结    &nb

2021-05-30 21:02:59 889

C语言实现状态机解析单词

我们在看程序设计相关书籍的时候,经常会看见:设计一个程序模块的时候,应该做到“高内聚,低耦合”或者“隔离变化,降低复杂度”等,其含义都是差不多的,即:减少模块之间的相互依赖,使模块更独立,尽可能的做到对扩展开放,对修改封闭。C++的多态特性,就是一个隔离变化,降低耦合的一种方式。C++的多态,本质上和在C语言当中的函数指针一样,通过一种手段,调用不同的函数,实现对同一事物实现不同的处理方式。最近在写一个单词解析的练习题,刚好是使用了函数指针来达到隔离变化,降低耦合的目的,本文将是对学习知识的一个记录,同时分享给每一个需要学习函数指针的同学们。

2020-11-15

空空如也

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

TA关注的人

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