3 p2016

尚未进行身份认证

暂无相关描述

等级
TA的排名 11w+

曾经看到的一些算法题,存的草稿发出来

1.小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?思路:如AbCdE,遍历一次,每当找到小写的位置i,i处挖坑,把从第一个大写的位置first_up到i-1的位置后移一位不断填坑,再把原i处的放到最后一个坑,++first_up。AbCdE bACdE bdACE#include#includeus

2018-06-20 01:59:18

QT项目——计算器

代码在这里:https://github.com/pei2017/Calculator未完待续。

2017-10-12 23:43:19

写一个makefile(二)

第一个这次的任务是把下图中的所有.cc文件编译生成.o文件并放在bin目录下。值得一提的是第一次makeclean的时候把源码都删除了。。。所以rm-fr需谨慎。。。。。。。。。。。。。。。。。。。知乎:不小心敲了rm-rf后反应是怎样的?https://www.zhihu.com/question/29438735DIR_INC=/home/pei/Desktop/#../.

2017-09-21 00:26:47

写一点Linux知识(准备长期更新)

一些命令:一些通用的选项:-a通常指all。-h通常指human,也就是human-readable。-r通常指recursive。-n通常指n个数量-v通常指显示过程locate:locate命令其实是find-name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有

2017-09-19 12:33:08

写一个makefile

muduoproject在/home/pei/Desktop目录结构大概是这样的,muduo/base/BlockingQueue.hmuduo/base/test/BlockingQueue_test.cc要把生成的obj文件放在muduo/base/test/obj/BlockingQueue_test.o把生成的可执行文件放在muduo/base/test/bin/Blo

2017-09-19 03:14:09

一首词——雨霖铃

雨霖铃——柳永寒蝉凄切,对长亭晚,骤雨初歇。都门帐饮无绪,留恋处,兰舟催发。执手相看泪眼,竟无语凝噎。念去去,千里烟波,暮霭沉沉楚天阔。 多情自古伤离别,更那堪冷落清秋节。今宵酒醒何处?杨柳岸晓风残月。此去经年,应是良辰好景虚设。便纵有千种风情,更与何人说?

2017-09-17 02:17:53

单机 并发TCP连接上限(不是65536)

一台机器只利用socket是否可以支持100000并发连接(tcp)?(不是65536)io多路复用到底复用什么?(不是端口复用)

2017-09-16 22:06:43

next_permutation

next_permutation生成下一个排列。prev_permutation生成上一个排列。例如,1243的下一个排列是1324,上一个队列是1234.next_permutation是如何实现的呢?例如对于7651432,它下一个排列是7652134。发现下一个排列1之前的元素是不用改变的,并且1的位置后边都是从大到小排列的,1的位置

2017-09-14 23:42:28

使用muduo编写聊天室

服务端,我们需要设计的回调函数有:连接的建立与断开,消息到来。消息分包的话,这里采用的头部设置长度信息。#include<muduo_five\net\EventLoop.h>#include<muduo_five\net\TcpServer.h>#include<string>#include<set>#include<iostream>usingnamespacestd

2017-09-07 14:31:29

C++11 线程池(二)

读陈硕的《linux多线程服务端编程》有感当析构函数遇上多线程一。竞态条件。我正在执行成员函数,你却准备要析构?我准备调用成员函数或者析构,你已经析构了一半?总而言之,就是我如何得知是否别人正在析构或者准备析构?而且mutex在析构阶段是不确定的,所以它是是不能保护析构的。二。构造的线程安全:要求构造时不泄漏this指针。否则别人访问这个半成品对象?所以有时候可以采用二段式构造,即构

2017-09-05 22:12:36

WSAPoll引发的一场血案(2)

在写EventLoopThread的过程中发现了一个问题。tcpServer启动时需要初始化n个线程的EventLoopThread,需要在每个线程中创建一个EventLoop,并指向loop函数,发生错误。此时是这样的,主EventLoop还没有给其他从EventLoop分配TcpConnection,也就是io事件,所以此时它的structpollfd是空的,也就相当于这样:WSAPol

2017-09-05 02:33:13

windows下的TimerQueue

关于windows下的时间函数,可参考https://msdn.microsoft.com/en-us/library/windows/desktop/ms725473(v=vs.85).aspx关于timerQueue,可参考https://msdn.microsoft.com/en-us/library/windows/desktop/ms682483(v=vs.85).aspx进入正题,由

2017-09-03 01:26:39

学习muduo(框架的设计)

首先的话,以EventLoop为起点,它是一个事件循环,也是oneloopperthread的核心,建议先了解一下reactor模型。我们需要设计一个loop函数,利用它1.获得活动的事件2.执行对应事件的handle。不可避免的我们需要操作系统select,poll,epoll,或者WSAPoll的支持,所以我们把他们封装一个抽象类Poller,问题1就解决了。怎么执行对应事件的h

2017-09-01 00:52:04

学习muduo(win平台的实现,未完成)

先占个坑吧。问题1.__thread__threadEventLoop*loopInThisThread=0;用来判断当前的线程是否有已经创建了EventLoop对象。__thread是一种线程局部存储(tls)机制,每个线程有一个该变量的实例。windows平台下可以这样,__declspec(thread)EventLoop*loopInThisThread=

2017-08-30 23:01:57

学习muduo(类之间的函数调用,未完成)

先随便说一句,muduo里边回调函数很多,很容易让人头大。这大概也是松耦合设计的缺点吧?模块之间的耦合度降低了,设计或者编程的复杂度也上升了。先从server的角度来看。用muduo库实现一个echo服务器,并在函数中添加相应的注释以了解函数调用的流程(并在windows上进行改写)。echo是这样的(函数实现略):#pragmaonce#include"TcpServer.h"class

2017-08-30 20:48:14

WSAPoll引发的一场血案(1)

在windows下,可以用WSAPoll代替poll,与linux类似intWSAAPIWSAPoll(_Inout_WSAPOLLFDfdarray[],_In_ULONGnfds,_In_INTtimeout);`/*EventflagdefinitionsforWSAPoll().*/#definePOLLRDN

2017-08-30 17:32:18

学习muduo(主要类的介绍)

四个事件connectcallbackmessagecallbackwritecompletecallbackclosecallbackTcpServer有up_acceptor,sp_TcpconnectionPtr_Map,三个回调连接断开、消息到来、发送完毕+thread_pool构造时创建了一个acceptor和一个thread_pool

2017-08-25 00:24:53

字符串匹配方法——Rabin_Karp

介绍一种字符串匹配方法,Rabin_Karp。一种暴力的字符串匹配方法是两层循环,时间复杂度O(nm).Rabin_Karp采用的是一种hash+滑动窗口的思想。比如说要在“abdbcabcbcc”中匹配”abc”,我们首先计算“abc”的哈希值。可以是这样:hash[a](26^2)+hash[b](26)+hash[c],也即(hash[a]*26+hash[b])*26+

2017-08-22 23:39:18

buffer类的设计

#pragmaonce#include<vector>#include<string>#include<algorithm>#include<assert.h>classBuffer{public:staticconstsize_tkPrependSize=8;staticconstsize_tkInitialSize=1024;private

2017-08-21 22:27:01

Linux Socket编程(不限Linux)

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有s

2017-08-20 17:26:40

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!