摘要:
一、引言 欢迎大家来到和我一起编写Http服务器实现文件的上传和下载,现在我稍微回顾一下之前我说的,第一、二章说明说明了整体的HTTP走向,第三章实现底层的网络编程。接着这一章我想给大家讲的是请求获取,和响应发送的内容。这里主要讲解的响应内容,为什么?因为我们编写的是一个与浏览器交互的HTTP服务器 阅读全文
摘要:
归并排序在外排序和内排序的作用都是非常大的,本人觉得要是要用户外排。在处理大数据排序,当内存大小不足以把所有数据一次载入时,这时就需要归并排序。以下进行的是2路归并排序为主。 数组递归归并 1 void mergeCore(int *src,int * &dest,int i,int m,int n 阅读全文
摘要:
引言 相信大家都玩过折叠纸张,如果把回文串相当于折叠一个A4纸,比如ABCDDCBA就是沿着中轴线(D与D之间)对折重合,那么这个就是一个回文串。或者是ABCDEDCBA的中轴线就是E,那么沿着中轴线对折也是重合的,所以这个字符串也是一个回文串。 判断一个字符串中的最长回文子串,我们可以对每个字符的 阅读全文
摘要:
快速排序的在内排中起到比较重要的作用,平均时间复杂度达到O(nlogn)。 升序快速排序 1 int partition(vector<int> &vi,int start,int end){ 2 int key=vi[start]; 3 while(start<end){ 4 while(star 阅读全文
摘要:
一、引言 大家都知道web编程的协议就是http协议,称为超文本传输协议。在J2EE中我们可以很快的实现一个Web工程,但在C++中就不是非常的迅速,原因无非就是底层的socket网络编写需要自己完成,上层的http协议需要我们自己完成,用户接口需要我们自己完成,如何高效和设计一个框架都是非常困难的 阅读全文
摘要:
在上篇《manacher算法处理最长的回文子串(一)》解释了manacher算法的原理,接着给该算法,该程序在leetcode的最长回文子串中通过。首先manacher算法维护3个变量。一个名为radius[i]的数组,表示以i为中心轴承的回文子串的半径,如abcdcba中,字符d的下标为4,则他的 阅读全文
摘要:
一、引言 欢迎大家接着看我的博客,如何大家有什么想法的话回复我哦,闲话不多聊了,接着上一讲的内容来说吧,在上一节中已经讲到了请求头字符串的解析,并且在解析中我我们已经获取了url。就是上节中提到的/doing。当浏览器发送了/doing请求后,这是的与服务器的连接并没有中断,原因无他,就是浏览器等待 阅读全文
摘要:
一、引言 在前2章的内容基本上已经讲解了整个的大致流程。在设计Http服务器时,我设计为四层的结构,最底层是网络传输层,就是socket编程。接着一层是请求和响应层,叫做Request和Response。在上一层是URL解析流程走向层。最顶层我设计为索引层。这一层主要多文件时对文件进行内存上的索引, 阅读全文