自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】约瑟夫问题

题目描述:问题分析:直接利用数组初始化数据,那当我们每次数数数到m的时候,我们理论上是要出圈的,但是每次出圈意味着数据的删除操作,时间复杂度会变高,那么我们就不删除,就将此时的值置为0即可,那么当下一次遇到这个位置的时候,我们就跳过就行了。在用一个数来记录数组中还有几个数不是0的,当只剩下一个的时候,我们就终止此次数数。注:因为没有使用循环链表或数组本身是没有循环的操作,那么将报数的数定...

2019-10-14 15:57:23 3917 2

原创 【Tools】SecureCRT 学习

SecureCRT

2019-08-07 11:18:57 3302 2

原创 【Tools】Ubuntu16.04配置ADB调试环境

adb安装apt-get install android-tools-adb将设备连接到电脑,然后使用 lsusb 命令,查看结果注:第一次是未插入连接设备的查看结果,第二次是插入设备之后的查看结果获取权限进入到cd /etc/udev/rules.d/下新建一个51-android.rules文件sudo vim 51-android.rules添加内容...

2019-08-07 10:51:15 471

原创 网络对战五子棋(附带源码,可以直接下载使用)

五子对战

2019-07-06 20:06:17 3613 4

原创 【Tools】VS中常用的快捷键

VS中常用的快捷键附上大佬的博客 https://blog.csdn.net/mrlisky/article/details/72622009

2019-05-30 20:40:10 163

原创 【MySQL】MySQL安装

MySQL:分享几篇大佬安装MySQL的链接:Centos 6.5下编译安装MySQL 5.6.14 https://blog.51cto.com/aiilive/2119890CentOS 7 通过 yum 安装 MariaDB https://zhuanlan.zhihu.com/p/49046496Windows下安装MySQL5.7 https://blog.51cto.com/...

2019-05-28 17:54:09 115

原创 实现一个高并发内存池-----对比Malloc

实现一个高并发的内存池1. 什么是内存池1.1 池化技术池是在计算技术中经常使用的一种设计模式,其内涵在于:将程序中需要经常使用的核心资源先申请出来,放到一个池内,有程序自管理,这样可以提高资源的利用率,也可以保证本程序占有的资源数量,经常使用的池化技术包括内存池,线程池,和连接池等,其中尤以内存池和线程池使用最多。1.2 内存池内存池(Memory Pool)是一种动态内存分配与管理...

2019-05-25 16:18:27 15329 9

原创 【Linux】基于线程池简单实现一个计算器

基于线程池简单实现一个计算器#include <iostream>#include <queue>#include <pthread.h>#include <unistd.h>#include <time.h>#include <stdlib.h>using namespace std;int cal(i...

2019-05-06 21:03:45 267

原创 【Linux】基于UDP的套接字简单实现

ip地址:  ( ipv4) 功能:唯一标识网络上的主机 数据:无符号4字节整型uint32_ _t源ip地址-&gt;目的ip地址数量: 43亿--不够用 谁上网给谁分配---dhcp,ip地址替换---NAT,ipv6--ip地址16个字节ipv6并不兼容ipv4套接字编程 两台主机之间进行网络通信--必定有一方是主动方客户端(主动方) ---请求---&gt;服务器(被动方...

2019-02-23 11:45:51 513

原创 【C++】类和对象

一、认识类C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。二、类的引入C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。struct Student{ void SetStudentInfo(const char* n...

2019-01-20 20:48:45 211

原创 【Linux】线程池了解

线程池:这是对线程使用的一种使用模式,因为线程的调度会带来过渡的开销,所以线程池管理多个线程,等待分配任务,这样不仅能够保证内核的充分利用,还能防止过度的调度。(主要解决的是时间问题)下面实现一个简单的线程池:1、创建固定数量的线程,循环从任务队里中获取任务对象2、获取任务对象后,执行任务对象中的任务接口#include &lt;iostream&gt;#include &...

2019-01-20 18:39:33 187

原创 【C++】初识

C++关键字:代码:关键字----&gt;语句-----&gt;实现算法逻辑命名空间:1、在C/C++中,需要使用到namespace关键字,后面跟命名空间的名字,然后接上{},在{}中间即为命名空间的成员。注:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。2、使用方式a.加命名空间名称及作用域限定符printf("%d\n", N::a)...

2019-01-18 18:07:49 192

原创 【Linux】环境变量

环境变量:环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。常见环境变量:PATH ...

2019-01-13 20:03:45 165

原创 【Linux】利用管道实现文件拷贝

管道:我们把从一个进程连接到另一个进程的数据流称为一个管道;Linux下一切皆文件,所以管道也是一个文件。在讲管道之前,我们先提一下涉及一点点其他的知识:多进程看到一份公共的资源叫做临界资源;把访问临界资源的代码区域称为临界区; 任何时候只有一个进程进入临界资源进行访问,并且在访问期间不允许其他的任何进程进入访问,称为互斥; 在保证安全的情况下,进行访问临界资源的时候按照某种顺...

2019-01-11 17:30:01 3553

原创 【Linux】简单实现shell中的重定向添加

重定向:所谓重定向,是指把本来打印在显示器上的内容,通过一定的符号输出到了特定文件中。用一句话概括重定向的本质就是:把文件描述符组里面的内容覆盖到一个新的文件中。重定向符号:&gt;               输出重定向到一个文件或设备 覆盖原来的文件&gt;!              输出重定向到一个文件或设备 强制覆盖原来的文件&gt;&gt;           ...

2019-01-10 21:43:48 901

原创 【Linux】实现一个简单的shell

shell:在linux下,作为操作系统的linux是一个核心(kernel),但是作为一般用户的我们是不能和直接使用这个核心的,而是通过核心的“外壳”程序,也就是所谓shell,Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 shell最简单的定义就是:命令行解释器(command Interpreter)将使...

2019-01-09 18:39:21 1273

原创 【C++】日期类简单实现

刚刚开始学C++,一般入门都会了解到日期类,对于日期类,我们首先是要了解。不过,如果我们能够更加的了解它,对于后面我们学习其他类的话,会有一个很大的帮助。现在在这儿,简单实现一下日期类的一些接口:Date.h#include &lt;iostream&gt;using namespace std;class Date{public: void Print(); //Da...

2018-11-30 18:48:51 808 1

原创 【Linux】开发工具

1. vim自行查找资料, 自行配置插件. https://m.gitee.com/HGtz2222/EasyVimConfig/blob/master/README.md2. 自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点. https://blog.csdn.net/qq_41562665/article/details/8...

2018-11-12 20:02:41 170

原创 【Linux】Linux下软件安装的几种方式(源码安装, rpm安装, yum安装). 重点要理解rpm安装和yum安装的区别.

源码安装:    步骤: 编译源码,然后安装   1.安装准备:   a、首先用yum安装gcc,用于编译源码   b、管网下载源码包   c、winSCP windows与Linux传输文件(若直接用安装软件的linux电脑下载就不用传输了)   2.安装过程   a、解压   b、进入解压后的目录配置文件  ./configure # 大多数情况下源码包都会带config...

2018-11-12 19:56:10 846

原创 【Linux】在Linux下实现进度条程序. 通过makefile进行编译. 自主完成一个彩色的进度条.

#include &lt;stdio.h&gt;#include &lt;unistd.h&gt;#include &lt;string.h&gt; int main(){ int i = 1; char bar[101]; memset(bar, '\0', sizeof(bar)); const char *lable = "|/-\\"; ...

2018-11-12 19:40:33 237

原创 【Linux】除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).

MSVC Windows平台上最常用的编译器,在C++编译器圣战中的胜利者,一个常被人诟病的是对标准的支持不够新不够快(最近开始逐步加快了)。随着微软发布基于Clang / C2,这一条路以后若成功,MSVC与Clang / C2并行,甚至逐步逐步退出舞台,都是有可能的事情。 Clang licence极度友好,代码质量非常棒,采用的IR为LLVM IR非常优秀,各大公司逐步发力...

2018-11-12 19:28:34 3134

原创 【Linux】除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.

Vim Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。 Eclipse Eclipse是一款很酷的开源代码编辑器,它拥有代码高亮和智能提示等强大的功能。在Eclipse中,完全胜任以下编程语言的工作——Python, R, Ruby, JavaScript,...

2018-11-12 19:20:35 1509

原创 合并两个有序链表

问题描述:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2...

2018-10-28 18:00:52 119

原创 二叉树的中序遍历

问题描述:递归实现:/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Return an array of size *r...

2018-10-25 23:58:02 623

原创 移除链表元素

问题描述:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* removeElements(struct ListNode* head, int val) { i...

2018-10-24 23:15:30 140

原创 【数据结构】顺序表:顺序表接口及实现

顺序表:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:1. 静态顺序表:使用定长数组存储。2. 动态顺序表:使用动态开辟的数组存储。接口实现:静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动...

2018-10-24 23:06:18 609

原创 二叉树的前序遍历

链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/description/问题描述:/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left...

2018-10-23 22:43:49 107

原创 最小栈

链接:https://leetcode-cn.com/problems/min-stack/description/问题描述:设计思路:利用两个栈,一个正常出入数据,一个存储更新最小数据。typedef struct { int* pst; int stTop; int* pminST; int minSTTop;} MinSt...

2018-10-22 17:13:05 160

原创 二叉树遍历

链接:https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef?tpId=60&amp;&amp;tqId=29483&amp;rp=1&amp;ru=/activity/oj&amp;qru=/ta/tsing-kaoyan/question-ranking题目描述:编一个程序,读入用户输入的一串先序遍历字符...

2018-10-21 23:02:32 120

原创 【数据结构】时间复杂度和空间复杂度

衡量一个算法的复杂度:即算法的时间复杂度和空间复杂度统称为算法的时间复杂度。  时间复杂度 计算一下下面程序的循环语句总共会执行多少次?void Test(int n){ int iConut = 0; for (int i = 0; i &lt; n; ++i) { for (int j = 0; j &lt; n; ++j) { iCount++;...

2018-10-11 17:20:39 544

原创 三子棋小游戏简单实现

头文件  game.h #ifndef __GAME_H__#define __GAME_H__#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;time.h&gt;#include &lt;stdlib.h&gt;#define ROW 3#define COL 3void InitBoar...

2018-10-07 22:53:11 690

原创 扫雷小游戏简单实现

头文件  game.h #ifndef __GAME_H_#define __GAME_H_#include &lt;time.h&gt;#include &lt;stdlib.h&gt;#include &lt;stdio.h&gt;#include &lt;string.h&gt;#define ROW 4#define COL 4#define ROWS RO...

2018-10-07 20:22:07 795

原创 【Linux】查找资料, 了解以下重要命令:du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password

du命令 1、作用:是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。2、重要参数(1) a:显示全部目录和其次目录下的每个档案所占的磁盘空间 。(2) b : 显示目录或文件大小时,以byte为单位。(3) c : 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。(4...

2018-10-07 18:46:46 241

原创 【Linux】查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp

/proc /proc是linux内核中提供的文件系统,在运行访问内核数据结构,改变内核设置的机制。proc是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内...

2018-10-07 18:20:32 208

原创 【Linux】进入目录需要哪些权限,在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作,需要哪些权限。

权限:就是对某事项进行决策程度和范围,通俗来说,就是规定哪些事情能做、哪些事情不能做。那么,在Linux中有哪些基本权限呢?基本权限:r(读):对于文件而言,具有读文件的权限,对目录而言,具有浏览目录的权限。 w(写):对文件而言,具有修改文件的权限,对目录而言,具有删除,移动目录的权限。x(执行):execute对文件而言,具有执行文件的权限,对于目录而言,具有进入目录的权限。...

2018-10-07 17:30:57 1615

原创 【C语言】动态内存分配小结

为什么存在动态内存分配?我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10];//在栈空间上开辟10个字节的连续空间但是上面开辟空间的方式有两个特点:1.空间开辟的大小是固定的2.数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配但是对于空间的需求,不仅仅是上面的情况,有时候我们需要的空间大小在程序运行的...

2018-10-06 12:44:59 365 4

原创 【C语言】自定义类型:结构体,枚举,联合小结

结构体结构是一些值的集合,这些值被称为成员变量。结构的每个成员可以是不同类型的变量。 结构的声明 struct tag{ member-list;}variable-list;//描述一个学生struct Stu{ //成员变量、成员列表 char name[20];//名字 int age;//年龄 char sex[5];//性别 char id[20...

2018-10-05 16:53:57 507

原创 【C语言】青蛙跳台阶问题

题目:(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。分析:当n = 1, 只有1中跳法;当n = 2时,有两种跳法;当n = 3 时,有3种跳法;当n = 4时,有5种跳法;当n = 5时,有8种跳法;n 1 2 3 4 5 6 7 8 9 10 sum 1 ...

2018-08-19 22:17:05 8753 3

原创 CSDN保存或发表文章时出现:输入有误!请重新提交 一般解决方案

今天在写完一篇博客之后,点了提交和保存之后出现了一点小插曲 系统提示:输入有误!请重新提交一开始我以为是自己电脑网络的问题,最终我将其连接到自己的手机热点之后依然未能解决问题。然后我就觉得会不会是文章中哪儿输入不对,我就将整篇文章复制后,全部删掉,输了一个“1”最为文章的正文,结果还是没能解决问题。那么问题显然就是在标题当中了。此时我注意到标题中有一串符号  --&gt;  我...

2018-08-19 20:33:39 711

原创 【C语言】注释转换:C注释转换到C++注释

功能为将简单的C注释段落转换为CPP注释 思路分析 状态转换思路分析  自定义头文件部分--&gt;CommentConvert.h #ifndef __COMMENT_CONVERT_H_#define __COMMENT_CONVERT_H_#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;typedef enu...

2018-08-19 15:27:18 261

SecureCRT 8.3.zip

SecureCRT 8.3 (下载+破解),亲测可用,连接设备终端,连接串口

2019-08-07

空空如也

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

TA关注的人

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