自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不积跬步无以至千里

不积跬步无以至千里

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

转载 求数组的连续子数组之和的最大值(一维二维)

http://blog.csdn.net/liangbopirates/article/details/9411335求数组的连续子数组之和的最大值 输入一个N个元素的整型数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。 例如输入的数组为-9  -3  -2  2  -1  2  5  -7  1  5,和最大的子

2017-03-31 22:39:11 1028

转载 循环队列打印杨辉三角

#includeusing namespace std;class SeqQueue{private: int* elements; //存放队列元素的数组 int rear,front; //队尾指针和对头指针 int maxSize; //队列可容纳的最大元素个数public: SeqQueue(int s

2017-03-31 12:01:33 1009

转载 HTTP 协议入门

作者: 阮一峰日期: 2016年8月19日HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使

2017-03-30 18:49:16 208

转载 关于HTTP协议,一篇就够了

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信

2017-03-30 18:08:40 199

转载 牛客二模

选择题部分: 1 C++中下面程序输出的结果为:()#include using namespace std;int main(){ float a=b=12.5; cout<<a<<endl<<b; return 0;}12345671234567A 12.5 12.5 B 12.5 0.0 C 0.0 12.5 D 编译错误代码

2017-03-30 15:33:03 1274

转载 HTTP协议详解(真的很经典)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HT

2017-03-30 14:54:18 207

转载 calling convention

函数调用约定与函数名称修饰规则(一) 作者:星轨(oRbIt)     E_Mail:[email protected]     转载请注明原作者,否则请勿转载       使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会

2017-03-29 20:12:50 364

转载 经典乱码“烫烫烫”和“屯屯屯”

经典乱码“烫烫烫”和“屯屯屯”     程序猿有个经典的内部笑话:手持两把锟斤拷,口中疾呼烫烫烫。     写过代码的人都碰到过。最近从Google搜索页调到百度的网页上大量出现锟斤拷,不知怎么回事。     烫烫烫和屯屯屯产生自VC,这是debug模式下VC对内存的初始化操作。VC会把栈中新分配的内存初始化为0xcc,而把堆中新分配的内

2017-03-29 20:12:26 2314

转载 STL之容器迭代器失效

一. 种类:标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串非标准关联容器hash_set、hash_multiset、hash_map和hash_multimap。几种标准非STL容器

2017-03-29 20:08:30 180

转载 网络编程释疑之:TCP的TIME_WAIT状态在服务器开发中的影响?

在进行TCP高并发服务器开发时,有些规则仿佛是约定俗成的,很多朋友会依据这些规则去做,比如高并发TCP服务器中进行主动关闭的一方最好是客户端、服务器端程序最好启用SO_REUSEADDR选项,但是很多人却不知所以然,我们为什么要这么做呢?先上图可以看到执行主动关闭端和被动关闭端的各个阶段的状态,今天咱的重点就是TIME_WAIT状态,可以看出TIME_WAIT状态是执行

2017-03-29 15:07:22 272

转载 网络编程释疑之:TCP半开连接的处理

熟悉基于TCP协议进行linux高性能、高并发服务端编程的朋友肯定应该知道每个文件描述符及其所占的资源对并发量的影响。在这种7*24甚至*365不间断运行的服务器上,一个描述符被浪费,两个被浪费...如果被浪费的多了,那还何谈高并发,高性能。除去文件描述被正常占用的情况外,是什么导致了我们可用的文件描述符越来越少呢?什么是半开连接?当客户端与服务器建立起正常的TCP连接后,

2017-03-29 14:56:43 207

转载 网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了。我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾讯的上亿(注:QQ默认用的UDP协议)。虽然现在的集群,分布式技术可以为我们将并发负载分担在多台服务

2017-03-29 14:55:33 561

转载 TCP粘包问题

一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要。在应用中处理粘包的基础方法主要有两种分别是以4节字描

2017-03-29 14:22:19 245

转载 C++模板编程中如何检测一个变量是否为编译期常量?

利用标准中的特性:core constant expression一定是noexcept的(虽然反过来不成立)constexpr function当接受core constant expression的时候调用它的表达式也是一个core constant expression.需要注意的是,这里提到的特性1目前据我所知只有GCC的实现是正确的.Clang没有正确实现该特性,在进行noe

2017-03-28 09:38:13 756

转载 实现任意字节对齐的内存分配和释放

任意字节对齐的内存分配和释放。源码实现// 实现任意字节对齐的内存分配和释放 void *AllignedMalloc(size_t size, int aligned) { // aligned is a power of 2 assert((aligned&(aligned - 1)) == 0); // 分配内存空

2017-03-27 16:51:37 2249

转载 二叉查找树,红黑树,AVL树,B~/B+树(B-tree),伸展树——优缺点及比较

二叉查找树(Binary Search Tree)很显然,二叉查找树的发现完全是因为静态查找结构在动态插入,删除结点所表现出来的无能为力(需要付出极大的代价)。BST 的操作代价分析:    (1) 查找代价: 任何一个数据的查找过程都需要从根结点出发,沿某一个路径朝叶子结点前进。因此查找中数据比较次数与树的形态密切相关。         当树中每个结点

2017-03-27 15:31:17 1155 2

转载 c++11 中的 move 与 forward

c++11 中的 move 与 forward[update: 关于左值右值的另一点总结,请参看这篇]一. move关于 lvaue 和 rvalue,在 c++11 以前存在一个有趣的现象:T&  指向 lvalue (左传引用), const T& 既可以指向 lvalue 也可以指向 rvalue。但却没有一种引用类型,可以限制为只指向 rvalue。这乍看起来好像也不是很大

2017-03-27 10:37:06 310

转载 c++11智能指针解析——揭开底层面纱,完整理解智能指针

http://blog.csdn.net/zy19940906/article/details/50470087 本次讨论:c++11之前的auto_ptr; c++11新加的unique_ptr, shared_ptr以及weak_ptr。     头文件:#include 1.auto_ptr      auto_ptr是我第一个看的智能指针,也

2017-03-27 09:52:02 2658

转载 彻底学会使用epoll(六)——关于ET的若干问题总结

彻底学会使用epoll(六)——关于ET的若干问题总结——lvyilong3166.1 ET模式为什么要设置在非阻塞模式下工作    因为ET模式下的读写需要一直读或写直到出错(对于读,当读到的实际字节数小于请求字节数时就可以停止),而如果你的文件描述符如果不是非阻塞的,那这个一直读或一直写势必会在最后一次阻塞。这样就不能在阻塞在epoll_wait上了,造成其他文件描述符的任

2017-03-26 13:34:36 354

转载 彻底学会使用epoll(五)—— ET模式下的注意事项

彻底学会epoll(五)—— ET模式下的注意事项——lvyilong3165.1 ET模式下的读写    经过前面几节分析,我们可以知道,当epoll工作在ET模式下时,对于读操作,如果read一次没有读尽buffer中的数据,那么下次将得不到读就绪的通知,造成buffer中已有的数据无机会读出,除非有新的数据再次到达。对于写操作,主要是因为ET模式下fd通常为非阻塞造成

2017-03-26 13:33:53 533

转载 彻底学会使用epoll(四)——ET的写操作实例分析

首先,看程序四的例子。l 程序四点击(此处)折叠或打开#include unistd.h>#include iostream>#include sys/epoll.h>using namespace std;int main(void){    int epfd,nfds;    str

2017-03-26 13:33:15 341

转载 彻底学会使用epoll(三)——ET的读操作实例分析

首先看程序一,这个程序想要实现的功能是当用户从控制台有任何输入操作时,输出”hello world!”。l 程序一  点击(此处)折叠或打开#include unistd.h>#include iostream>#include sys/epoll.h>using namespace std;int main(

2017-03-26 13:32:37 251

转载 彻底学会使用epoll(二)——ET和LT的触发方式

分析了ET和LT的实现方式,那么分析他们的触发方式就容易多了。我们通过实现分析知道LT模式下epoll_wait被唤醒可以通过两种方式(图中红线和蓝线),而ET模式只能通过一种方式(图中红线)。所以ET模式下能被唤醒的情况,LT模式下一定也能被唤醒。我们先来讨论特殊情况(ET模式),再来讨论一般情况(LT模式)。2.1 ET根据上一节对两种加入rdlist途径的分析,可以得出ET模式下

2017-03-26 13:31:57 274

转载 彻底学会使用epoll(一)——ET模式实现分析

http://blog.chinaunix.net/uid-28541347-id-4273856.html注:之前写过两篇关于epoll实现的文章,但是感觉懂得了实现原理并不一定会使用,所以又决定写这一系列文章,希望能够对epoll有比较清楚的认识。是请大家转载务必注明出处,算是对我劳动成果的一点点尊重吧。另外,文中如果有不全面或者不正确的地方还请大家指出。也可以私信或者发邮件:lv

2017-03-26 13:29:08 336

转载 Epoll模型详解

Epoll模型详解1. 内核中提高I/O性能的新方法epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。要使用epoll只需要这三个系统调 用:epoll_create(2), epoll_ctl(2), epoll_wait(2)。当然,这不是2.6内核才有的,它是在 2.5.44内核中被引进的(epoll(4) is a new API i

2017-03-26 13:27:11 225

转载 面试高级算法梳理笔记

作者:尤汐_Jennica链接:https://www.nowcoder.com/discuss/21253来源:牛客网1.1 说明 本篇为《挑战程序设计竞赛(第2版)》读书笔记系列,旨在:梳理算法逻辑 探索优化思路 深入代码细节1.2 目录 原文首发于个人博客Jennica.Space,按算法难度划分为初中高三个级别,详细目录及链接如下:初

2017-03-24 11:43:59 692

转载 面试CS基础之操作系统

作者:尤汐_Jennica链接:https://www.nowcoder.com/discuss/22395来源:牛客网前言 北大《操作系统原理》课堂笔记,涵盖面试笔试中操作系统知识点。大纲如下: 操作系统概述 操作系统运行环境 进程线程模型 处理器调度 同步机制 存储模型 文件系统 I/O系统 死锁PS:原文首发于个人博客,评论和建议请直接回复到博

2017-03-24 11:40:09 396

转载 C++Primer读书笔记完

作者:尤汐_Jennica链接:https://www.nowcoder.com/discuss/22529?type=0&order=0&pos=116&page=1来源:牛客网前言 把《C++ Primer》读薄系列笔记全集,首发个人博客。目录 第I部分:C++基础开始学习C++ 变量和基本类型 字符串、向量和数组 表达式 语句 函数 类第II部

2017-03-24 11:39:17 617

转载 static 与const作用

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函

2017-03-23 14:38:25 193

转载 求n的阶乘的精确值

斯特林公式可以求出n!的近似值,但是如果需要求精确值的话,就要采取另外的办法了。‘当n[cpp] view plain copy print?#include  #include  #define N 3000  int f[N];//保存阶乘的位数  int main()  {      int n,i,j,

2017-03-21 20:44:58 967

转载 非递归快排

首先说明一下快速排序是对冒泡排序的改进。为什么这么说呢?想一下冒泡排序,它把序列分成了两部分,前半部分无序,后半部分升序排列,并且后半部分的数都大于前半部的数。由此可得到快速排序和冒泡排序的一些共同点:都要经历n趟排序每趟排序要经历O(n)次比较都是后半部分元素比前半部大而不同之处就在于冒泡排序的交换操作发生相邻的元素之间,即一趟排序可以要经过多次交换操作;快速排序的交换操

2017-03-20 16:06:42 229

转载 纸牌博弈问题

题目:有一个整型数组A,代表数值不同的纸牌排成一条线。玩家a和玩家b依次拿走每张纸牌,规定玩家a先拿,玩家b后拿,但是每个玩家每次只能拿走最左或最右的纸牌,玩家a和玩家b都绝顶聪明,他们总会采用最优策略。请返回最后获胜者的分数。给定纸牌序列A及序列的大小n,请返回最后分数较高者得分数(相同则返回任意一个分数)。测试样例:[1,2,100,4],4返回:101解析:

2017-03-20 10:08:14 520

转载 操作系统常见面试题

有过面试经历的人都知道操作系统是面试官必问的几大类型题目之一,在上一期我们已经更新另一大板块的题目常见面试题整理--数据库篇(一)请分别简单说一说进程和线程以及它们的区别。进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位。线程是进程的实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程可以有多个线程,

2017-03-17 14:24:18 231

转载 操作系统常见面试题总结

1、什么是进程(Process)和线程(Thread)?有何区别?  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的

2017-03-17 14:17:38 326

转载 40亿个数中快速查找

40亿个数中快速查找题目描述给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?分析与解法海量数据处理往往会很有趣,有趣在什么地方呢?空间,available的内存不够,需要反复交换内存时间,速度太慢不行,毕竟那是海量数据处理,数据是一次调用还是反复调用,因为针对时间和空间,通常来说,多次调

2017-03-15 18:22:00 1435

转载 C语言字符串库函数的实现

C语言字符串库函数的实现也是笔试题常考的题目,以下代码没有严格测试,只是简单的实现://字符串长度int strlen(const char *str) { assert(str != NULL); int len = 0; while (*str ++ != '\0') ++ len; return

2017-03-14 09:25:00 346

转载 并查集代码

并查集是一种树型的数据结构,用于处理一些不相交集合的合并问题 并查集的主要操作有:1-合并两个不相交集合      2-判断两个元素是否属于同一个集合       3-路径压缩 并查集的两种优化方法:路径压缩与按秩合并。[cpp] view plain copy int pre[N],rank[

2017-03-13 22:49:24 1352 1

转载 tcp 在调用connect失败后要不要重新socket?

对TCP套接字调用connect会激发三次握手,如下:客户端是主动打开连接的一端,会发送第一个SYN分节,然后等待确认,此时连接状态为SYN_SENT,当收到服务端的确认后连接建立,状态变为ESTABLISHED;服务器是被动打开连接的一端,调用listen导致套接字从CLOSED状态变为LISTEN状态,当收到来自客户端的SYN分节以后状态

2017-03-13 21:30:30 2628

原创 Netease

[编程题] 字符串编码给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。 输入描述:每个测试输入包含1个测试用例每个测试用例输入只有一行字符串,字符串只包括大写英文字母,长度不超过10000。输出描述:输出编码后的字符串输入例子:AAAABCCDAA

2017-03-12 13:24:48 813

转载 C++中cout位数控制

常用:例如:当a=8时输出008当a=18时输出018当a=118时输出118用cout如何写?代码:[cpp] view plain copycout'0')以下详解参考http://z2403030202.blog.163.com/blog/static/4081603420089155

2017-03-12 13:07:17 2056

空空如也

空空如也

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

TA关注的人

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