自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (11)
  • 收藏
  • 关注

原创 C++11 多线程

本文讨论C++11 中如何创建和使用多线程,以及如何解决资源进程、数据同步等问题。C++ 11 多线程文章目录C++ 11 多线程创建和使用线程连接和分离线程关于参数传递数据竞争问题与解决顺序控制线程返回值std::asyncstd::packaged_task注意事项创建和使用线程在C ++ 11中,我们可以通过创建std :: thread类的对象来创建其他线程。每个std :: th...

2020-04-19 21:47:20 808

原创 四则运算表达式求值

本文将讨论什么是运算表达式,如何用代码实现中缀表达式转后缀表达式、前缀表达式,以及对后缀表达式的求值。

2020-04-16 14:50:55 699

原创 C++11智能指针

C++11智能指针本文将讨论C++ 11 中的智能指针,如何使用以及注意事项。share_ptrshared_ptr是c ++ 11提供的一种Smart Pointer类,它能够在不再被引用的时候自动释放内存,从而帮助我们消除内存泄漏和指针悬空的问题。shared_ptr 对象内部指向两个内存,分别是目标对象的内存以及一个引用计数器。当shared_ptr关联到一个指针时,它会让引用计数器加...

2020-04-15 16:35:58 475

原创 C++元组 - tuple

本文讨论什么是std::tuple以及其使用方法。std::tuplestd :: tuple是可以将一至多个类型绑定在一起的类型。创建元组对象时,需要将元素的类型指定为模板参数。我们可以从函数中返回该元组对象,它可以帮助我们从一个函数返回多个值从而避免创建不必要的结构。创建元组示例声明一个tuple,它是是个int,char,string的集合tuple<int, char,...

2020-04-14 09:57:53 710

原创 关于 C++11 Lambdas

Lambdas本文将介绍什么是Lambdas函数及如何使用Lambdas函数。什么是Lambdas函数Lambda函数是C ++中的一种匿名函数,主要用作C ++中的回调,它主要在我们必须创建非常小的函数以作为回调传递给另一个API时使用。使用场景和示例假设现在我有一个整数数组,我想遍历此数组并使用STL算法for_each打印所有元素。首先让我们使用函数指针来做到这一点,void ...

2020-04-13 16:39:42 446

原创 可变参数模板

可变参数模板C++11引进了一个新功能:Variadic Template Function (可变参数模板)。通过可变参数模板,我们可以创建出接受任意类型、任意个数参数的函数。如何使用一个声明可变参数模板的简单例子:template<typename T, typename ... Args>void log(T first, Args ... args);上面的函数可...

2020-04-12 10:42:38 400

原创 关于 auto

关于 autoC++11 中引进了auto。auto 即自动类型,可以让我们声明一个变量而无需指定其类型,类型会根据初始值而被确定。下文介绍如何使用auto以及一些注意事项。如何使用一个简单的例子:auto var_1 = 5;auto var_2 = 'C';cout << typeid(var_1).name() << endl; //intcout &l...

2020-04-12 09:31:50 362

原创 关于std::bind

关于 std::bindstd::bind C++ 11 的一个新函数,返回值为一个函数对象,可以看作一个通用的函数适配器。它接受一个函数作为参数,并返回一个新的函数同时将一至多个参数绑定到返回的函数中。下文的内容包括如何使用bind 以及什么时候使用bind。如何使用假如我们已经有一个函数:int add(int a, int b){ return a + b;}bind将一个函...

2020-04-11 14:25:02 386

原创 Delete 关键字新特性

Delete 关键字新特性在C ++ 11中,引入了关键字delete的新功能。我们可以将delete关键字应用于限制函数的使用。下文将演示以下常见的使用场景:应用于编译器自动生成的函数以禁止使用特定的操作(如复制,比较)应用在成员函数上防止数据类型转换时导致数据丢失应用在new运算符上来限制堆上对象的创建应用在模板类上来限制创建特定的类实例禁用复制构造函数和赋值运算符我们可...

2020-04-10 15:27:28 573

原创 二进制乘除法运算原理

二进制乘除法原理计算机所能完成的最基本操作是加减法和左右移。虽然ISA中一般都有MUL类指令,但是这些经过译码之后最终的元操作还是加法和移位指令。二进制乘法假设不能使用乘除运算求a×b的结果,当a=b=123时,最直接的方法是通过88个88相加。但是,我们不难发现这样的规律:123 × 123 = (100+20+3)×123 = (100×123) + (20 × 123) + (3 ...

2020-04-01 16:42:32 18983 3

原创 经典排序算法复习

十大经典排序算法备忘录本博客用于快速复习几种简单排序算法。这些算法虽然经典,但是都很简单,只要明白其思想和原理,都能很快写出来。关键是要把握好一些细节之处,例如循环边界等。代码#pragma warning(disable : 4996)#include<iostream>#include<vector>#include<algorithm>#...

2020-03-08 00:17:41 407

原创 最短路之Bellman-ford 算法

Bellman-ford 算法算法摘要作用:单源有向图上求最短路特点:能适应负权边的情况思想:动态规划时间复杂度: O(点数×变数)原理:对所有的边进行n-1轮松弛操作,(n个顶点的图中,任意两点之间的路径最多包含n-1边)注意事项:需要判断是否产生负权回路 (再对边进行一次内部循环,如果还有可以松弛的点,说明有负权回路)c++代码#include<iostream>...

2020-03-06 11:16:37 281

原创 STL常用函数应用举例

STL常用函数应用举例备忘录只要明白函数的作用,一般即可以联想到其参数。像unique(), remove()这类的函数需要注意,对容器进行操作后不会改变原有的元素个数,可以通过函数返回的迭代器进行下一步操作。对于一些会改变元素个数的操作,如merger(),结果需要放到一个新的容器里面,并且传参时仅需开始迭代器。对于copy类函数:存放结果的容器串传参时只需开始迭代器;...

2020-03-04 16:27:29 367

原创 C++堆排序模板

C++堆排序模板#pragma warning(disable : 4996)#include<iostream>#include<vector>#define ARRAY vector<int> //下标从0开始有效using namespace std;//调整最大堆(升序)void heapAdjust(ARRAY *ary, int r...

2020-03-03 20:47:12 319

原创 计算机操作系统笔记

计算机操作系统总笔记文章目录计算机操作系统总笔记引论语录操作系统的目标和作用操作系统的发展过程操作系统的基本特征操作系统的主要功能进程的描述与控制前趋图和程序执行进程的描述进程控制进程同步经典进程的同步问题进程通信线程的基本概念线程的实现处理机的调度和死锁处理机调度的层次和调度算法的目标作业和作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检查与解除存储器管理存储器的层次结构程序的装入和链...

2019-12-28 20:03:31 1214

原创 c++保存 vector 到文件

c++ 保存 vector 到文件实现将vector中的数据保存到二进制文件和从文件中读取数据并还原vector并不难,关键是要把握好一些小细节背后的原理,以及确定好存储的格式。确定格式跟网络通信中的通信协议非常相似,只用存取双方都依照协议行事,才能完成完整步骤。以下代码提供例子,仅供参考:#include<iostream>#include<stdio.h>#in...

2019-12-24 22:05:09 10304 4

原创 磁盘调度算法

磁盘调度算法本文内容用c++写了一个简单的控制台程序用来演示几种调度算法的磁头移动过程, 包括:先来先服务法(First-Come, First-Served,FCFS)。最短寻道时间优先法(Shortest Seek Time First, SSTF)。电梯法。知识点先来先服务算法(FCFS )First Come First Service特点:一种简单的磁盘调度算法。根...

2019-12-07 16:38:27 861 5

原创 QT中引入WinPcap

在Qt项目中使用Winpcap注意需要做以下(包括但不限于)前期准备:1.修改.pro文件,例如:INCLUDEPATH += D:/WorkPlace/C++WorkPlace/Library/WpdPack/IncludeLIBS += "-LD:/WorkPlace/C++WorkPlace/Library/WpdPack/Lib" -lwpcap -lws2_32DEFINES ...

2019-12-04 16:46:31 1161

原创 银行家算法

银行家算法银行家算法主要用于避免死锁。原理是进行资源分配之前先计算资源分配的安全性,分配不会导致系统进入不安全状态,则将资源分配给进程。否则让进程等待。注意该算法的核心是安全性的判断:可以理解成一个闯关游戏,若主角的攻击力、防御力、(剩余资源数量)全部都高于某个敌人对应的攻击力、防御力(对应的请求资源的数量), 则主角可以打败这个怪兽并全部获取怪兽的属性(分配和回收资源),若主角可以在这个规则下...

2019-11-23 15:56:34 897

原创 ubuntu搭建FTP服务器

FTP服务搭建和使用ubutu搭建FTP服务安装ftp程序sudo apt-get install vsftpd安装后可以通过sudo service vsftpd restart 启动以及来判断程序是否安装成功。前期准备创建ftp工作目录mkdir /home/ubuntu/workplace/ftpShare为工作目录创建或指定一个特定的用户,如public...

2019-11-16 22:06:44 406

原创 IT百科笔记

IT 百科笔记本文是作者收集和整理的一些平时常见的与IT有关的英文缩写、专业术语、软件工具、编程语言 等词语及其解析,可供参考和扩充视野。后将陆续更新。IT 百科缩写ISA指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系。包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构...

2019-10-24 21:52:47 540

原创 windows网络有关命令

Windows 网络专题命令本文简单总结一下windows中几个与网络相关的命令的语法和作用。这些命令在进行网络测试、排除故障以及了解计算机网络原理都被非常频繁地使用到ping测试网络可用性的最简单方法,根据返回的信息可以确定网络的状态。ping 默认发送4个ICMP回送请求,每个32字节数据,如果一切正常,应能得到4个回送应答。结果显示以毫秒为单位的应答端到请求端的时间,借此可以判断网路速...

2019-10-23 10:12:40 305

原创 go 图片压缩

Go图片压缩工具在网络应用开发中,常通过对图片进行压缩来加快网页加载的速度。Go实现图片压缩十分简单,以下代码实现传入图片路径完成压缩工作的功能,支持jpg和png格式的图片文件。//compress a jpg or png format image, the new images will be named autolyfunc CompressImg(source string, hi...

2019-10-20 13:37:26 3436 3

原创 避免每次运行docker输入“sudo”

解决docker必须使用sudo权限的问题安装docker后,由于Docker 需要用户具有 sudo 权限,所以每次使用docker命令都要用sudo开头,甚是烦恼,解决方案:将当前登录的用户加入到docker组,然后修改配置文件的拥有者。步骤如下:将当前的用户加入到docker组:(注意上面的${USER}要改成当前用户的名字)sudo gpasswd -a ${USER} dock...

2019-08-31 22:32:50 515

原创 VSCode 常用快捷键

VSCode常用快捷键shift + alt + up or down //复制当前行到上,下一行位置Ctrl + Alt + up or down //复制光标到上下行shift + alt + F //格式化文本Ctrl + shift+ K //删除整行Ctrl + [ or ] //整行为单位向左向右对齐Ctrl + Enter //在下面...

2019-07-25 15:34:53 247

原创 Are They Equal (25)

Are They Equal (25)难度: ⭐⭐⭐题目连接题目描述If a machine can save only 3 significant digits, the float numbers 12300 and 12358.9 are considered equal since they are both saved as 0.123*105 with simple chopp...

2019-07-18 09:32:00 442 1

原创 Hashing (25)

Hashing (25)难度 : ⭐⭐⭐题目链接题目描述The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function...

2019-07-16 23:15:49 391

原创 Graduate Admission (30)

Graduate Admission (30)难度 : ⭐⭐⭐题目描述It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could w...

2019-07-13 22:24:16 463

原创 Stack (30)

Stack (30)难度: ⭐⭐⭐⭐题目描述Stack is one of the most fundamental data structures, which is based on the principle of Last In First Out (LIFO). The basic operations include Push (inserting an element ont...

2019-07-12 23:12:03 444

原创 Dating (20)

Dating (20)**难度:**⭐⭐题目描述Sherlock Holmes received a note with some strange strings: "Let’sdate! 3485djDkxh4hhGE 2984akDfkkkkggEdsbs&hgsfdk d&Hyscvnm". It took him only a minute to figureo...

2019-07-11 09:44:44 301

原创 【go】根据数据库自动生成相应结构体代码

go自动生成结构体代码情景在web项目开发时,很多时候我们需要创建大量的结构体,因为这些结构体的格式十分固定,我们可以写一个工具自动帮我们完成这些不需要脑力而繁琐的工作。方法是查询数据库中全部表的表名,以及这个表中所有的字段名及相应数据类型。然后根据查询结果,用字符串处理的方法来生成这些结构体的结果。本项目用到的数据库:postgresql, 生成的结构体:go, typescript....

2019-07-09 16:57:55 3825

原创 数据结构课设:神秘国度的爱情故事

神秘国度的爱情故事题目要求:某个太空神秘国度中有很多美丽的小村,从太空中可以想见,小村间有路相连,更精确一点说,任意两村之间有且仅有一条路径。小村 A 中有位年轻人爱上了自己村里的美丽姑娘。每天早晨,姑娘都会去小村 B 里的面包房工作,傍晚 6 点回到家。年轻人终于决定要向姑娘表白,他打算在小村 C 等着姑娘路过的时候把爱慕说出来。问题是,他不能确定小村 B 是否在小村 A到小村 C 之间的路径...

2019-06-26 09:52:58 1230 1

原创 c++连接MySql进阶

c++ 写MySql工具类本文主要总结和记录又本人设计的一个mysql连接工具类SqlPackage。本工具类提供了常用的sql命令的执行接口,利用本工具类提供的方法能够非常地方便地在c++代码中实现绝大部分的常用数据库操作。以下链接是一个使用本工具实现的 学生成绩管理系统案例:BlackCarDriver/student-manage-system若初次在c++中使用mysql数据...

2019-06-13 23:24:35 316

原创 c++连接mysql入门

c++使用mysql前言本文介绍c++使用mysql数据库连接的前期准备,以及如何在代码中实现简单的数据库操作。环境与前期准备操作系统:windows10IDE: vs2013mysql: 本机已安装 mysql 5.5创建项目:创建一个空项目,本例选择win32 console Application,项目名为:cpp-mysql,.初始代码:创建main.cpp,内容如下:...

2019-06-10 19:09:32 9487 5

原创 数据结构实验6:hash表的应用

实验目的掌握存放大量数据的方法(主要是姓名);掌握查找大量数据的方法(主要是姓名);掌握队列的定义及操作实验内容在每个队伍允许插队的情况下,若你在排队,有一个以上的朋友要求插队,你可以安排他们的顺序,每次一个人入队,并且如果这个入队的人发现队伍中有自己的朋友,则可以插入到这个朋友的后面,当队伍中的朋友不止一个时,这个人会排在最后一个朋友的后面。若队伍中没有朋友,则排在队伍的最后面。每...

2019-06-09 17:09:57 306

原创 crontab工具实现Nginx自动分割日志

利用crontab实现nginx日志按日期保存情景nginx日志默认保存到access.log 和error.log中,每个请求和错误都会被记录下来,但访问量大或时间久了,日志文件将会非常大,分析日志将十分困难。因此是否有种简单的方法可以实现日志按日期输出呢?linux自带了一个可以定时执行的工具crontab可以帮助我们轻松实现这个功能。环境本案例中nginx保存日志的目录如下:...

2019-06-04 15:59:08 477

原创 webpack Bundle Analyzer 使用入门

Angular:使用webpack Bundle Analyzer进行性能分析前言在web应用开发中,性能可谓是最重要的指标之一。虽然今天我们的项目中添加第三方模块和工具比以往任何时候都要容易,但是很多时候这可能会以牺牲性能为代价。随着项目规模的增大,提高性能将变得更加困难,因此,本文将介绍如何使用webpack Bundle Analyzer来帮助我们分析项目代码结构,从而减小打包的...

2019-06-04 15:18:41 3747

原创 jenkins使用笔记

jenkins使用笔记本博客主要内容:总结一下我的 jenkins 使用方法,以及一些碰壁多次后留下的避坑笔记。1.前言jenkins是一个帮助你部署项目的工具,有了这个工具,每次代码更新后你只需要打开jenkins,点击构建,然后等待部署完成即可。在了解jenkis前,我曾经有过一下主要疑问:jenkins安装在远程服务器还是本地jenkins是怎样获取代码以及将代码编译成程序的...

2019-05-23 22:47:12 2026

原创 数据结构实验5:查找

实验五:查找算法实验目的1.掌握顺序查找技术和拆半查找技术;2. 掌握查找的算法实现实验内容1.产生n个随机整数用顺序查找的方法进行查找操作,要求输出要找关键字Key的过程。1.给定n个有序整数用折半查找的方法进行查找操作,找关键字Key的过程。分析签到级难度,主要是考察折半查找思想的理解和应用。折半查找又称二分查找,需要先对数组进行排序。为了不打乱原来的数组,可以将排序后的数...

2019-05-22 12:05:52 1241

原创 数据结构实验4:排序

实验目的深刻理解各种排序算法的设计思想;掌握各种排序算法的执行过程;掌握各种排序算法的设计实现实验内容一个班有n个学生,每个学生有学号(no)、姓名(name)、年龄(age)、成绩(score)。定义数据结构来描述学生信息。2.按成绩进行降序排列(自选两种排序算法)。3.输出每一趟排序的过程。4.输出已排序的学生数据;要求输出整齐。分析刚开始想用模板类的方法实现一...

2019-05-20 16:50:35 1395 1

Oracle 客户端 (sqldeveloper)硬盘版

这是专门连接oracle数据库的客户端,非常适用于数据库安装在远程服务器的情况使用,解压到本地即可直接运行。 输入ip,用户名,密码即可连接你在远端的oracle数据库。只用一百多mb,windows下使用。

2019-05-03

angular 富文本控件

Angular 富文本编辑器控件所需文件及使用教程。

2019-03-20

课程设计: MFC 学生信息管理系统

司机出品,必属精品。本MFC程序代码优美,功能严谨,使用到大量高级算法和数据结构,功能上实现数据本地存储,成绩统计直方图显示,学生成绩增删查改,绝对值10个积分。欢迎下载参考。郑重申明,本程序又黑车司机原创 (create by VS2013)

2018-12-31

刷屏神器(易语言)

用易语言做的刷屏工具,实现了自动往窗口发送文本,功能齐全,界面非常精美!包含了源代码,可执行文件,值得学习。

2018-08-17

刷屏神器.cpp

本代码为作者原创的刷屏神器代码,功能上提供三种刷屏方式,都非常有趣,读者还可以根据喜好自行加入新功能。本cpp文件已将刷屏神器封装成一个完整的类,以便在其他场合使用。代码长度在120行左右,在dev c++上编译运行即可,需要c++11支持。

2018-07-30

c++标准控制台实战:坦克大战(双人)

本程序在c++标准控制台上实现双人游戏:坦克大战,是作者原创作品,全网唯一。功能上实现了在原版游戏的大部分功能,十分精致。压缩包包含两个cpp文件和三个头文件,总代码长度约为600行。组成游戏的坦克类和炮弹类已经完美封装在其中,解压并放置到适当的位置就能编译运行,效率十分高。

2018-07-02

c++标准控制台实战:钢琴模拟器

本cpp文件是在c++标准控制台上实现的钢琴模拟器代码,简短而精炼,已经封装在类里面,可以非常方便地又主函数来调用。实现的主要功能包括:钢琴模拟,诺基亚铃声制作, 琴谱制作和转换。代码只有一百行,非常适合新手学习,欢迎交流。

2018-06-29

c++标准控制台游戏:火箭车(精)

本cpp文件在c++标准控制台上实现经典的火箭车游戏,经过了反的复修改和完善,去除了无用的乱码,在重点难点部分加上了解释,并且整合到了一个文件上,最终大小为八百行左右,仅需在编译器上打开和编译就可以直接运行。如果你是一名c++新手,想在最熟悉的标准控制台程序实现一些有趣的项目而毫无idea和头绪 , 欢迎参考本程序。

2018-06-28

acm基础算法模板30个打包

包含了本人在参加acm训练一年以来收集整理好的算法模板。一共30个ccp文件,例如解决最大流,最短路,等问题的基础算法和线段树等数据结构的模板案列,虽然比较基础,但为了防止以后忘记,都加以梳理并添加注释,希望对同样在为acm奋斗的读者有所帮助。

2018-06-13

MFC学生成绩管理系统(源码)

本MFC程序是一个简单的学生成绩管理系统,包含了管理成绩必须的 数据存储、增加、删除、查找功能,以及一些排序,统计功能。由于mfc技术不属于作者的兴趣范围,所以本程序的制作以应付作业为主,在保证功能完整的前提下并未添加复杂的控件和功能,力求节省时间。在代码上涉及到简单的mfc控件使用方法和STL算法运用,适合新手学习。相信需要做类似的mfc项目或作业的读者一定能够得到一些启示。

2018-06-12

用c++做的桌面小工具

用c++做的桌面小工具,一个完整的工程,包括了记账本,事件记录器,图书馆签到器,密码记录助手这四个功能。代码八百行左右,界面简单,但功能齐全,框架完整清晰,添加新模块功能非常简单,谨供新手学习。

2018-06-10

空空如也

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

TA关注的人

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