自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pwater的博客

不描述

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

原创 无锁编程技术(一)

无锁编程、多线程并发

2021-12-27 19:13:09 1248

原创 数据结构零基础入门(初学者也能看懂):哈希MAP

【引入】如果有如下键值对,如何存储和查询呢?1:西瓜2:苹果3:桔子使用数组arr[N]简单存储:西瓜 苹果 桔子 存储时,将key值作为index,通过偏移,直接得到存储地点,将其赋值:arr[1] = "西瓜";arr[2] = "苹果";arr[3] = "桔子";查询时,将key值作为index,直接获取数据数据:return arr[index];这是非常高效的查询方式,无需逐个比较,直接偏移index个元素。

2021-12-24 13:06:28 1165

原创 数据结构零基础入门(初学者也能看懂):一个数组实现两个栈

双栈实现

2021-12-22 19:12:06 401

原创 数据结构零基础入门(初学者也能看懂):队列使用场景之无锁技术

无锁技术

2021-12-22 18:07:15 710

原创 数据结构零基础入门(初学者也能看懂)

什么是数据结构?数据结构,就是数据的组织形式。这样说不够通透,通俗点说,就是把信息(一堆数据)捏成什么样子,以便维护。比如:一个学生的数据结构,如何设计呢?我们假设一个小需求:统计本班学生男女比例。针对这个需求,学生的姓名年龄都不重要,只关心学生的性别就可以了,于是,一个学生的数据结构设计如下就够了。student { sex;}添加一个需求:统计语文成绩在90分的学生有多少。student { sex; scoreChinese;}上面的数据

2021-12-21 12:20:25 635

原创 数据结构零基础入门(初学者也能看懂):栈的使用场景

栈的使用、单链表的反转

2021-12-19 20:18:19 341

原创 数据结构零基础入门(初学者也能看懂):O(1)时间内获取队列最大值

假设返回最大值(最小值同理)。【设计思路】队列的实现,用双向链表替代。即:enqueue,在链表头插入;dequeue,在链表尾部删除。getMax(获取栈内当前最大元素)的设计,假设入队元素:3 2 9 76由于队列先进先出的特点,没有办法直接获取队列中的最值,它不像栈可以保持辅助栈内数据单调性。比如上面队列,7比9小,不会被缓存,但9一旦出队列之后,7应该作为当前队列最大值,但事实上并没有缓存这个值。我们已经知道,栈是可以很容易实现O(1)获取最大值的:优快云【两个堆栈实现一.

2021-12-19 16:08:27 465

原创 数据结构零基础入门(初学者也能看懂):O(1)时间内获取栈内最大值

动态

2021-12-19 15:32:27 1019

原创 数据结构零基础入门(初学者也能看懂):bitmap

bitmap hashmap 节省内存

2021-12-19 13:00:00 550

原创 数据结构零基础入门(初学者也能看懂):双向链表

数据结构 双向链表

2021-12-18 18:23:04 93

原创 数据结构零基础入门(初学者也能看懂):队列

队列的设计。

2021-12-18 10:00:00 195

原创 数据结构零基础入门(初学者也能看懂):栈(链表实现和数组实现)

数据结构栈的实现。

2021-12-15 08:00:00 201

原创 数据结构零基础入门(初学者也能看懂):单向链表

数据结构 单向链表的实现。

2021-12-13 20:38:43 274

原创 编程通识 十万个为什么

编程语言中的一些疑惑

2021-12-02 19:21:15 130

原创 设计模式分析和实现:观察者模式

用故事说清楚设计模式之观察者模式

2021-12-02 18:32:41 113

原创 const 详解

代码示例是最好的讲解方式:str[] = "I love China"; //这里str是头指针,可以通过str改动字符串:str[2] = 'U';case 1:通过const限定p指向的内容(value);这里str本身是可以修改的,但不能通过p去修改字符串的值。const在*的前面,限定的就是*x的东西,*x就是值。const char* p = str; //char const * p = str 等价, 限制的是*p(p的内容),即,p指向的内容不能通过p被修改,..

2020-05-17 21:58:59 231

原创 工作自动化(续)-html解析

其实是在填坑。对方技术给过来的Excle文件中嵌入的是html。Excle打开时会报异常。导致python相关模块无法按照xlsx打开文件。解决方案:打开文件前添加一步,即,以普通文件IO打开并解析html,提取数据后重新写入Excle。借用了系统自带的html解析模块,封装一个私有类实现解析。问题及解决:1. 无法识别文件中的中文字符:用codecs打开并指定中文编码格式。2. xlwt模块因文件太大而无法写入:如果超过65536行,则不能用xlwt写入,用openpyxl

2020-05-17 20:37:00 170

原创 工作自动化-ftp

一套小型工作自动化系统。使用语言:Python3.主要功能:FTP下载、zip解压、文件重命名、Excle中执行vba宏、Excle数据合并。FTP主要方法:(介绍项目用到的方法)connect(ip, port):连接FTP服务器。login(user, passwd):FTP登录。cwd(path):进入FTP服务器的某个目录。(Come to Work Directory)retrbinary(cmd, cb):执行ftp命令。cmd:要执行的指令。cb:ca.

2020-05-17 20:35:17 223

原创 深入理解C++中指针和引用

如果你对指针还有不解,建议阅读:https://blog.youkuaiyun.com/lijinbinlaa/article/details/106178763引用就是指针的快捷方式。C++中的指针与引用其实在编译器的操作来看是一样的。通过查看反汇编源代码发现,引用和指针编译器的实现是一样的。但在用高级语言编程时的理解不完全相同:指针,也可以看作是对象的一个句柄(也就是一个把手),这个句柄就是对象obj的地址。所以,你要操作指针,要这样用:int var = 1;int *p = &v

2020-05-17 19:32:05 298

原创 指针浅析:C/C++指针

指针在C/C++中属于难度系数比较高的招数了,很多人对指针的机制不是特别理解,这里我们用个故事来说明白指针到底是什么,又有什么用。举个例子,假如你打算用北京平谷的1000吨桃子交付给远在海南的1000吨芒果,你会怎么做呢?一种方法是,你把仓库的1000吨桃子拉到海南,放到客户的仓库,客户再把他在海南的1000吨芒果拉到你北京的仓库。另一种方法是,你只告诉客户,你的苹果都在北京xx区xx街道xx号的仓库,客户自己去取就可以了。这个仓库的地址就是C/C++种的指针。而那1000吨的苹果,就是变量。所

2020-05-17 19:12:02 236

原创 linux 命令封装:代码同步

虚拟机实现服务器间代码同步。

2017-07-10 19:24:27 1594

原创 效率工具:linux封装

linux 命令封装

2017-07-10 19:22:49 3594 1

空空如也

空空如也

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

TA关注的人

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