自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 LRU算法实现

LRU算法实现介绍LRU算法(最近最少使用)是最常用的缓存回收算法。主要的实现方式就是带哈希表的双向链表。哈希能够帮我们快速定位我们需要的缓存页面双向链表提供的顺序性能够让我们选择回收最少使用的页面。双向链表可以在任意节点插入,便于移动缓存页面的顺序。代码/** * @file LRU.cpp * @author qingfu * @brief a implement of LRUcache * @version 0.1 * @date 2021-04-05 * * @c

2021-07-25 19:49:23 130 1

原创 常见的排序算法——c++实现

排序算法一览文章目录排序算法一览总览冒泡排序选择排序插入排序希尔排序快速排序归并排序基数排序堆排序总览排序算法时间复杂度空间复杂度稳定性原地排序?冒泡排序O(n2)O(n^2)O(n2)O(1)O(1)O(1)稳定是选择排序O(n2)O(n^2)O(n2)O(1)O(1)O(1)不稳定是插入排序O(n2)O(n^2)O(n2)O(1)O(1)O(1)稳定是希尔排序O(nlogn)O(nlogn)O(nlogn)O(1)O(1)O(

2021-07-25 19:37:11 105

原创 float, double数值范围及计算方式

数值范围int(整型)尺寸:32bit范围:-2147483648~2147483647-2^31=-2147483648;2^31-1=2147483647;说明:首位为0表示正数,为1表示负数等价于 111111111…->01111111…备注:其余整形同理浮点数单精度float尺寸:32bit范围:负值取值范围为 -3.4028235E+38 到 -1.4012984E-45;正值取值范围为 -1.4012984E-45 到 3.4028235E+38。

2021-06-03 16:13:53 2120

原创 设计模式(一)

设计模式(一)简单工厂模式client客户端,通过工厂类来创建对象,通过接口(抽象父类)来实现功能。Api产品基类(抽象父类)Factory工厂,根据输入参数来创建不同的实例对象。Impl产品子类(用于实例化的子类)主要实现了两个功能:定义了对象的接口——Api封装了对象的创建——Factory代码实现/*类的设计*/class Api { virtual operation();};//产品Aclass ImplA:pu

2021-05-06 13:53:50 62

原创 最短路径算法

最短路径算法Dijkstra算法图G中的起点为顶点s,distTo[]表示G中路径的长度,distTo[v]表示从s到v某条路径的长度。不可达长度设为无穷。T表示已经确定最短路径的节点。distTo[s]初始化为0,更新s到邻接点的距离。s存入T中。放松 *->v:找到distTo[]内的最短路径distTo[v],更新s到v的邻接点的距离。v存入T中。distTo[w]=min(distTo[w],disto[v]+edge(v,w));//w为v的邻接点。循环直到T内包

2021-05-06 13:48:59 147

原创 webServer设计(一)—— 线程同步类

webServer设计(一)—— 线程同步类1 不可复制的类互斥锁pthread_mutex_t本就不建议通过复制的方式来初始化,而应该在所属线程使用专门的初始化函数进行管理,封装成类之后也应该保证其不被拷贝。#ifndef BASE_UNCOPYABLE_H#define BASE_UNCOPYABLE_Hclass uncopyable{public: //c++11的新机制,确保拷贝构造函数和拷贝复制运算符无效。 uncopyable(const uncopyable&a

2021-05-06 13:44:22 86

原创 webbench实现——wsl2+cmake

总体介绍 webbench是一个被很多人推荐过的toy项目,是一个简单的网络压测工具。当然对我来说……菜了菜了。首先源码直接去GitHub或者网站上下载即可。(这个网站就是极佳的测试对象???)然后就是就是Linux环境,编译运行,源码阅读,调试… Linux环境配置Linux环境就需要一个Linux系统或者Linux虚拟机了,但是这两种方法占用资源比较多,而且在不同系统间切换很不方便。WSL2(适用于Linux的Windows子系统)应该能够满足我们的需求。所以我先在windows系统上配置.

2020-12-15 19:33:08 302

原创 wsl2+ubuntu18.04+vscode+cmake+???

这里写目录标题1. wsl2配置1.1 启动wsl2功能1.2 安装Linux内核更新包2. 安装ubuntu18.043. vscode配置1. wsl2配置  WSL(Windows Subsystem for Linux)适用于Linux的Window子系统。分为WSL1和WSL2,可以自由选择。为了体验更完整的功能,这里选择安装WSL2。   [官方文档](https://docs.microsoft.com/zh-cn/windows/wsl/about)1.1 启动wsl2功能

2020-12-13 10:46:23 809

空空如也

空空如也

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

TA关注的人

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