自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hello world!——VS使用教程

相信很多人第一次接触visual studio 这个编译器时不知道如何使用今天我一朋友就问我关于vs如何使用今天这篇文章就来讲解一下如何使用VS写一个简单的c语言程序hello world 首先我们先打开VS然后点击工具栏 文件——新建——项目然后依次选择Visual C++ —— 空项目——给项目命名——选择代码存放路径接下来 在解决方

2017-12-09 23:59:24 65733 1

原创 自己写Http服务器(四)添加线程池

在我们服务器之前的那部分,我们通过创建线程让线程去处理任务,从而可以在同一时间可以处理多个请求,但是这样则需要我们频繁的创建、销毁线程,这样在一定程度上会产生资源的损耗,影响我们服务器的效率,其次如果短时间内的大量请求,导致服务器创建线程数量过多,可能导致内存达到极限,影响操作系统中其他重要进程的运行针对我们目前的服务器可以支持常规的短链接web http请求,因为单个任务比较小,为了减小在创...

2019-02-26 23:19:47 927

原创 自己写Http服务器(三)响应处理

上次讲到在我们在接收到请求以后,创建一个新的线程去处理这个请求,HandlerRequest为我们线程的入口函数,我们将accept到的文件描述符作为参数传递给线程所以这里我们来详细来看一下对请求处理的过程,但是在将之前我们先来谈一个概念:cgi CGI(Common Gateway Interface)是外部应用程序与Web服务器交互的一个标准接口。CGI应用程序可以完成客户端与服务...

2019-02-26 20:00:03 935

原创 小型站内搜索引擎

写在前面关于搜索引擎我们平时接触到的再多不过了,谷歌、必应、搜狗等,当然这些搜索引擎都是属于比较大型的搜索引擎,他们基本上是可以对全网的网页数据进行搜索的通常我们在使用搜索引擎时,我们输入完搜索内容之后进行搜索,搜索引擎会在一个极短的时间内为我们反馈出来上万条甚至几十万条跟搜索内容相关的数据其实我们知道这个搜索的过程其实是将用户的搜索请求对各个网页的html文件内容进行匹配关键字,说通...

2019-02-26 14:08:19 4011

原创 自己写Http服务器(二)主体框架

在正式写Http服务器之前,我们先简单的了解一下一个http服务器实际运行时候的一个大致过程:一个http请求从客户端发出,服务器接收到客户端的请求进行处理,再响应给客户端。所以我们首先对服务器接收请求这一方面进行编写,保证服务器首先能够接收到请求,其次再对接收到的请求处理以及进一步的响应。其次我们要明白的http协议是属于应用层的协议,这就意味着我们的数据在传输时候肯定要先从 应用层由定...

2019-01-16 14:58:56 640

原创 自己写HTTP服务器(一)http协议

 在写HTTP服务器之前,我们首先要来了解一下http协议    在讲HTTP协议之前,我们先来说说URL(一)URL:    URL就是我们平时俗称的“网址”    互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。    基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完...

2019-01-16 12:23:29 2990

原创 设计模式—单例模式

设计模式:设计模式是一套被反复使用、多数人知晓、经过分类的、代码设计经验的总结单例模式:一个类只能创建一个对象,保证系统中该类只有一个实例,并且提供一访问该类资源的访问点。因为有些时候,保持类的实例只有一个是非常必要的。例如:一个表示文件系统的类,一个操作系统一定是只有一个文件系统的。因此,我们就希望表示文件系统的类的实例只有一个 单例模式的实现有两种模式: 饿汉模式:就是不管你...

2018-12-29 21:37:31 346

原创 LeetCode--字符串相乘

题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明: num1 和 num2 的长度小于110

2018-11-03 14:27:38 339

转载 蓄水池算法

参考文章:http://www.cnblogs.com/ywl925/p/3793003.html问题定义:     给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素。你只能遍历这个链表一次。你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率均等)。求解:    蓄水池算法:    蓄水池算法是针对从一个序列中随机抽取...

2018-10-20 11:11:52 2492

原创 Linux/Windows之间文件传输 之 lrzsz

相信大家在用Linux时可能都会有一个困惑,那就是如何将Linux系统与Windows系统下的文件相互传输其实在Linux上有一款软件 lrzsz软件名称:lrzsz软件平台:Linux进程描述:在Linux里可代替ftp上传和下载关于lrzsz安装(CentOS)sudo yum install lrzsz  回车无法sodo的情况下,可以 su root ...

2018-08-21 20:58:36 1848 1

原创 VMware虚拟机黑屏解决

相信VM( VMware Workstation)虚拟机很多人都在用,不知道有没有人跟我一样也遇到过VM虚拟机黑屏现象具体表现为:虚拟机可以正常开机,但是屏幕不显示,处于黑屏状态。之前有一次好像是因为win10更新,然后更新以后发现虚拟机开机以后能听见开机以后的开机音效,但是屏幕始终处于黑屏昨天,因为一次电脑重启,虚拟机又出现了相同的问题 所以,VM虚拟机可以正常开机,但是黑屏...

2018-08-21 19:55:33 109217 40

转载 关于修复LSP解决WV虚拟机黑屏

管理员运行 netsh winsock reset 帮你解决一切烦恼。好吧,说正经的,虚拟机和主机之间的通信,基本上是以 socket 的方式进行通信的(这里的 socket 泛指一切 socket,包括本地的、网络的等等)某个程序通过 LSP 给系统的 TCP/IP stack 注入了自己的 DLL,如果程序退出时,没有把这个 DLL 收回来,或者回收失败、没有彻底回收等,那么这个 DL...

2018-08-21 19:44:26 2663

原创 关于Win10下安装Linux ubuntu子系统遇到的几个问题

1.首先是ubuntu下载,在Win10自带的应用商店Microsoft Store搜索 ubuntu 即可找到2.安装完成后启动 ubuntu 后 Installing, this may take a few minutes...Installation Failed!Error: 0x8007019ePress any key to continue...按任意键后ubuntu自动退出原因:...

2018-06-30 18:34:09 34955 6

原创 数据结构 栈和队列 用两个栈实现一个队列

众所周知栈和队列是两个中不同的数据结构,栈是先入后出,队列是先入先出,虽然栈和队列有不同之处,但是他们之间也有相互的联系两个栈实现一个队列了解一下首先我们需要两个栈S1,S2,通过两个栈之间元素的交换从而达到先入先出的目的所以我们对队列Queue定义为typedef struct       Queue{       Stack*

2018-04-21 16:53:34 332

原创 数据结构 栈和队列面试题 实现一个栈

实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值)的时间 复杂度为O(1) 实现一个栈的出栈入栈其实很简单,可是要求Min(返回最小值)的时间复杂度为O(1),就需要换个思路来思考时间复杂度为O(1),我们可以通过双栈来实现,或者说一个栈里有两个数组存放数据,一个array来存放入栈的元素,一个min来存放当前栈内最小值,入栈的时候往array和min里面同时入数据,出栈时...

2018-04-21 15:22:42 422

原创 C++语言图形库graphics.h的安装

关于C++图形库<graphics.h>无论是在vc6.0还是Visual Studio中都是需要用户自己安装这个图形库的前段时间由于自己VS2017的更新导致以前安装的图形库没了,所以又重新安装了一遍,在这顺便给大家分享一下好多朋友还不知道在哪里下载及安装 <graphics.h>我自己使用的是Easy-x的安装关于Easy-x的下载:http://www.e...

2018-04-14 21:38:22 105487 23

原创 C语言如何在控制台窗口设置光标到指定位置

在用C语言写控制台的程序时,说到控制光标,我们通常就是回车换行或者空格之类的进行移动光标控制,但是这类操作只能是将光标移动到当前光标后面的位置,而且效率极低假设我们想要把光标移动到当前光标以前某个位置进行修改,我们通常的就是 system("cls")清屏,然后再重新打印到屏幕,这种操作方式虽然可以达到修改当前光标以前位置的效果,但是这种方法也是效率极低其实在C中有专门的函数来实现 我们控制光标在...

2018-04-14 21:09:08 27600 4

原创 数据结构 之 带头循环双链表

在数据结构中我们经常会接触到链表,链表也分好多种,带头结点和不带头结点、循环和不循环、单向链表和双向链表而在众多不同结构的链表中 带头循环双链表可以说是一种最优的链表结构相比于单链表只能访问当前结点的后续结点的局限性,双链表既可以访问前面结点也可以访问后面结点其次循环的情况下相比于非循环的链表在访问尾节点时,非循环的链表余姚遍历整个链表才能访问尾节点,而循环链表由于它的循环特性,不用遍历链表,头结...

2018-04-05 15:01:02 649

原创 数据结构之 队列(Queue)的实现及简单操作

在生活中我们经常会遇到排队的事情,比如说排队买东西,大家依次站一个队,队头的人要比后面的人先买到东西,先到先得,然后买完东西就会离开这个队而我们平时为了解决在比如说打客服电话,排队叫号之类的应用问题时我们就应用了 队列 这种数据结构,实现先到先得,先入先出的排队功能队列(Queue):是只允许在一端进行插入操作,在另一端进行删除操作的线性表。队列也是一种特殊的线性表,是一种先进先出的线性表。允许插...

2018-04-05 13:41:13 4447

原创 数据结构 之 栈(Stack)的实现及简单操作

栈是限定仅在表尾进行插入和删除操作的线性表,由于栈只能在尾进行插入和删除,所以这里我们选用顺序表来实现栈更方便快捷一点对于栈我们要做的有栈的初始化,入栈,出栈,查看栈顶元素,查看栈内元素个数,清空栈,打印栈在Stack.h:中对栈相关接口函数进行声明以及对栈的结构体进行定义Stack.h:#pragma once#define NUM 50//栈的大小typedef int DataType;...

2018-04-03 13:24:51 1183

原创 单链表实现约瑟夫环(JosephCircle) 问题

首先先了解一下什么是约瑟夫环问题Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀。然后下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16...

2018-04-02 19:17:38 19121 3

原创 数据结构单链表的实现以及相关操作

首先在SListNode.h里面对我们的单链表结点结构体定义,以及相关操作函数进行声明单链表部分主要相关操作包括单链表的数据的头插、尾插、头删、尾删、SListNode.h:#pragma oncetypedef int DataType;typedef struct SListNode{ struct SListNode* _next; DataType _data;}SListN...

2018-04-02 18:28:47 226

原创 对于动态顺序表的创建以及相关简单操作

首先我们要定义顺序表typedef struct SeqList{ DataType* _a; size_t _size; // 有效数据个数 size_t _capacity; // 容量 }SeqList;其次我们要了解的是对顺序表的相关操作void SeqPrint(SeqList* pSeq);//打印顺序表void SeqInit(SeqList* pSeq);//初始化顺...

2018-03-17 21:28:07 804

原创 微信跳一跳(游戏辅助小外挂C语言版)

相信微信跳一跳这个游戏大家应该都或多或少听过或者玩过,想必好多朋友看到自己好友们得高分自己却分数老是玩不高!之前在这个游戏刚出来时候有人用Python写出了一个小外挂,随后网上各种各样的外挂包括物理外挂层出不穷,今天就给大家分享一下如何自己用C语言写一个小的跳一跳游戏辅助外挂(因能力有限,这个小外挂只针对安卓系统)。首先我们需要准备一个工具ADB(Android Debug Bridge(

2018-01-14 12:37:10 9632 8

原创 C语言小游戏—扫雷大作战

扫雷[游戏]扫雷是一款相当大众的小游戏,游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。今天这篇文章就来讲解一下如何用C语言写一个扫雷小游戏首先我们先来大致分析一下我们需要实现哪些功能实现基本的功能:布置雷排雷踩雷,炸死 排雷成功判断实现原理 :  1.数据存储:     雷的信息存储

2017-12-10 01:44:26 688 1

原创 C语言小游戏----三子棋

三子棋大家可能都不陌生三子棋,民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。(摘自 搜狗百科)今天就给大家带来一个用C语言数组知识编写的“三子棋”小游戏;利用二维数组可以组成一个二维坐标面,用来建立棋盘,通过对数组元素的操作达到对棋子的操控首先游戏的初始化界面进

2017-12-05 18:41:25 477

原创 猜数游戏 plus

猜数游戏大家应该都不陌生,随机产生一个数,然后让玩家去猜这个数的大小,但是传统的猜数游戏只是单纯的猜数,没有时间或者次数的限制,导致游戏的丰富度不高 所以在传统猜数游戏的基础上可以进行功能的增添,给予玩家更好的游戏体验 我们可以利用GetTickCount();函数进行时间上的把控,可以在时间上进行限制,进行限时挑战模式,要求在某段时间猜出这个数,否则游戏失败!Ge

2017-11-20 23:29:21 468 2

原创 两行代码解决你的vs闪退的问题

如果你是一个初次使用vs进行编程的话,可能你的代码没有任何问题,但当你运行程序时会出现DOS框闪退问题,这个时候,在程序结尾前加两行代码解决你的闪退问题        getchar();system("pause");例:九九乘法表#includeint main(){int i, j, m;for (i = 1; i {for

2017-11-11 20:57:41 783

空空如也

空空如也

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

TA关注的人

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