自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shell变量的一点总结

下午研究了下source . 命令,做下总结:假设有脚本 test.sh,内容(比较简单,能说明问题即可)如下:#!/bin/bashexport str_1="hi"str_2="hello"echo $str_1echo $str_2I.在当前shell环境中执行 ./test.sh  得到:hihello结果在意料中。在当前shell中再执

2014-10-25 17:45:47 693 1

原创 vim学习记录

2014-10-05 12:46:29 504

转载 linux awk命令详解

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2014-09-15 11:28:01 546

原创 安装ubuntu

1. ultra制作u盘安装ubuntu 14.04

2014-08-24 14:52:29 745

原创 Linux SSH 使用rsa认证方式 免输入密码

1.client ssh-keygen -t rsacd ~/.ssh将.id_rsa.pub内容 cp 至 server端 ~/.ssh/authorized_keys(需要自己touch)中2.serverchmod -R 750 ~/.ssh重启sshd服务 sudo service sshd restartok,试着在client ssh xxx

2014-08-23 21:09:19 638

原创 ubuntu php curl扩展安装

1.进入php源码目录

2014-08-20 01:20:22 4782

原创 源码编译nginx,php

download nginx,php源码:http://nginx.org/en/download.html

2014-08-07 00:28:36 655

原创 Effective C++ 笔记

条款25:延迟变量定义出现应该延迟变量定义,直到使用该变量前,甚至应该延迟至可以给该变量赋初值。string encrptPassword(const string& password){...string encrypted(password);  //通过copy构造函数定义并初始化。encrypt(encrypted);return encrypted;

2014-03-18 17:21:33 548

原创 读书笔记

p37 写时复制策略:当一个新进程被创建时,内核仅仅把父进程的页框赋给子进程的地址空间,但是把这些页框标记为只读。一旦父或子进程试图修改页中的内容时,一个异常就产生。异常处理程序把新页框赋给受影响的进程,并用原来页中的内容初始化新页框。

2014-01-08 10:18:19 591

原创 统计字符数

#include #include using namespace std;typedef struct node *nodeptr;typedef struct node{ char *word; int count; nodeptr next;}node;#define NHASH 29989#define MULT 31nodeptr bin[NHASH];

2013-09-29 10:10:11 725

原创 排序

//堆排序static void swap(int &a,int &b){ if (a!=b) { a=a^b; b=a^b; a=a^b; }}void siftdown(int array[],int i, int length){ int j; for (j = 2*i+1; j < length ;) { if (j+1<length && arra

2013-09-22 21:48:26 526

转载 Linux命令行里的“瑞士军刀”

这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作。下面的这些内容是Quora网站上Joshua Levy网友的总结:通过sort/uniq获取文件内容的交集、合集和不同之处:假设有a、b两个文本文件,文件本身已经去除了重复内容。下面是效率最高的方法,可以处理任何体积的文件,甚至几个G的文件。(Sort对内存没有要求,但也许你需要用 -T 参数。

2013-09-21 16:59:18 703

转载 面试

●strstr(char *str1, char *str2):在字符串中查找完全匹配的子字符串。●KMP算法:一个字符串中定位另一个串的高效算法。根据子串的最后一个字符定位,预先计算可能匹配的位置,只比较主串中与其相等的值,当然要有一个中间变量next[最后一个字符]=下一个在主串出现的下标。●函数调用方式:1.函数表达式,如max(x,y);2.函数语句,如printf()

2013-09-21 16:56:13 627

原创 线程安全 单例模式

class Sigleton{public: static Sigleton *GetInstance() { if (NULL == pInstance) { pthread_mutex_lock(&pMutex); if (NULL == pInstance) { pInstance = new Sigleton; } pthread_mu

2013-09-19 15:18:48 1110

转载 hash_map和map

这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。4.1 hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数).存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其memory数据结构是不一样的。4.2 什么时候需要用hash_map,什么时候需要用m

2013-09-14 09:53:01 551

转载 讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位

目的:       讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位在进程权限上的问题。基础知识:       进程关联ID:  每个进程运行时都附带有用户ID和组ID属性,当对一个文件或设备进行操作时,内核会用进程的有效或实际用户(或组)ID去测试这个文件的3组权限位(用户,组,其他),当为真时才执行,否则保存:  1.实际用户ID,组ID:执行这个程

2013-09-12 17:37:09 528

原创 练习coding~

//@duanby 小顶堆. 选K小元素放入result数组中.void GetLargetstNNum(int array[],int result[],int length, int K){ priority_queue,greater > heap; int i; for (i=0;i<length;++i) { heap.push(array[i]); } for (

2013-09-10 08:26:29 697

转载 主定理

T(n)=25T(n/5)+n^2,求T(n)?先转网上的主定理,对照主定理,题中a=25,b=5,f(n)=n^2,符合第(2)种情况,因此时间复杂度为O(n^2*Logn)

2013-09-09 17:38:00 915

转载 数组分割

一、题目概述:有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。显然:S(k, 1) = {A[i] | 1S(k, k) = {A[1]+A[2]+…+A[k]}S(k, i) = S(

2013-09-08 19:24:04 582

转载 C++中的临时对象都是const类型

先看代码: 1 #include 2 using namespace std; 3 4 class A {}; 5 6 class B 7 { 8 public: 9 B(){}10 B(A& a){}11 };12 13 class B1: public B14 {15 public:16 B1(const

2013-09-06 17:09:53 574

原创 test.

//寻找数组中的最小值和最大值.《编程之美》解法三,比较次数1.5Nvoid GetMaxMinNum(int array[], int length, int &minNum, int &maxNum){ if (NULL == array || length <= 0) { return; } int posStart; if (length & 0x1 !=0) {

2013-09-05 13:19:38 728

转载 Linux系统调用和库函数调用的区别

Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第一:双缓冲技术的实现。第二,可移植性。第三,底层调用本身的一些性能方面的缺陷。第四:让api

2013-09-05 11:35:31 683

原创 小数精确相乘

#include #include using namespace std;void PrintMulNum(char *numA,int alen,char *numB,int blen){ if (NULL == numA || NULL == numB || alen <=0 || blen <=0) { return; } int *num1 = new int[al

2013-09-05 01:14:14 651

转载 C++中的虚函数的作用

纯虚函数主要是你不知道这个函数如何定义,即你无法为其写出定义部分,这部分只有在子类中才能够正确表达,比如,我们要定义一个动物类,那它的呼吸方法怎么定义呢,是像鱼那样,还是像人那样,这个没法确定,只能在子类中去定义。而虚函数则是肯定知道这个函数的定义,并且大部分子类对这方法的定义应该是差不多的,比如我们要定义一个树类,树都可以进行光合作用,大部分树其进行光合作用的方法都差不多吧,我们就可以将这个

2013-09-04 17:43:43 645

转载 【随机数应用之】在半径为R的圆内找随机n个点

问题描述:设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。思路:在半径为R的圆内找随机的n个点,既然是找点,那么就需要为其建立坐标系,如果建立平面直角坐标系,以圆心为原点,建立半径为R的圆的直角坐标系。要使随机的点在圆内,则必须使其所找的点 point 的x,y坐标的绝对值小于R,问题转化为:随机的找n个圆

2013-09-03 14:33:34 2941

转载 epoll“传说中”的性能

这年头做网络并发模型的,如果说没用过epoll,八成是要遭人鄙视的。那么,epoll的性能到底有多好?先看下面这张图但凡学过epoll的人都看过这样类似的图。图的纵轴是每秒的http响应数,其实就是系统的吞吐量(Throughput),横轴则是并发的连接数。很明显,epoll的性能要远好于传统的poll,在整个横轴范围内,无论并发的连接数是多少,epoll都保持了稳定的吞吐

2013-09-03 08:40:01 1482

转载 IO - 同步,异步,阻塞,非阻塞

同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不

2013-09-02 17:09:31 666

转载 分解质因数

#include #include using namespace std;bool IsPrimeNum(int number){ bool bIsPrimeNum = true; for (int i = int(sqrt(number));i>1;i--) { if((number%i)==0) bIsPrimeNum = false; } r

2013-09-02 10:44:40 713

转载 判断单链表是否有环及确定环的入口结点问题

1. 判断单链表是否有环设置两个指针 fast 和 slow 遍历链表,初始时它们都指向链表的头指针,fast指针在遍历时每次移动两步,而slow指针在遍历时一次移动一步,这样,如果单链表中存在环,fast指针必定先进入环,待slow指针也进入环时,fast指针和slow指针所指结点之间的距离会在遍历的过程中一步一步的缩小直到它们都指向同一个结点;如果链表中不存在环,那么fast指针会先到

2013-09-01 23:34:44 538

转载 epoll简介 与 UDP server的实现

Abstractepoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。简介:epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,

2013-08-30 10:41:30 3668 1

转载 单例模式——C++实现自动释放单例类的实例

C++编程语言是一个应用广泛的计算机应用语言,它功能强大,在一定程度上大大提高了程 序开发效率。C++单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共 享。有很多地方需要这样的功能模块,如系统的日志输出等。单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。定义一个

2013-08-30 09:09:10 706

转载 应聘时最漂亮的回答! 留着 早晚用的上

1、请你自我介绍一下自己好吗?回 答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技 能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的 能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊

2013-08-30 09:08:02 579

转载 内排序算法小结

从以下几个方面来比较排序算法:1. 算法的时间和空间复杂度2. 排序的稳定性3. 算法结构的复杂度4. 参加排序的数据规模排序的稳定性:稳定排序方法: 插入排序、冒泡排序、二路归并排序、基数排序是稳定排序算法;不稳定排序方法: 选择排序、谢尔排序、快速排序、堆积排序是不稳定排序算法。算法复杂度比较:

2013-08-30 00:42:08 1035

转载 数组分割问题-详细版

题记:这道题和《编程之美》一书中2.18节的数组分割区别不大,但本人觉得《编程之美》这一节讲的不够透彻,不好理解(或许本人愚钝),故给出自己的思路,同时也给出打印其中一种方案的方法(这一点《编程之美》并没有提到)。两个序列大小均为n,序列元素的值为任一整数,无序;要求通过交换两个序列的元素,使序列a元素之和与序列b的元素之和的差最小(可能存在很多种组合,要求找出其中一种即可

2013-08-29 19:54:09 908

转载 进程与线程的区别联系

对于线程,进程的概念一直都是比较模糊,最近整理了一下。总结起来就是,线程是进程的一部分,进程是程序的一部分。这个说法不准确,但是可以指出期间的差别; 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一

2013-08-29 00:48:41 536

原创 4.10 数字哑谜和回文

//21978 x 4 = 87912int main() { int m1, m2, m3, m4, m5; int n1, n2, n3, n4, n5; for (m1 = 0; m1 < 10; m1++) { for (m2 = 0; m2 < 10; m2++) { if (m

2013-08-28 16:05:59 691

转载 非阻塞connect的实现

步骤1: 设置非阻塞,启动连接实现非阻塞 connect ,首先把 sockfd 设置成非阻塞的。这样调用connect 可以立刻返回,根据返回值和 errno 处理三种情况:(1) 如果返回 0,表示 connect 成功。(2) 如果返回值小于 0, errno 为 EINPROGRESS,  表示连接      建立已经启动但是尚未完成。这是期望的结果

2013-08-27 20:52:22 655

原创 二叉树非递归,前中后序遍历

typedef struct node { char data; node *lchild; node *rchild;}*BinaryTree;void PreorderTraverseTree(BinaryTree root){ if (NULL == root) { return; } stack chStack; chStack.push(r

2013-08-27 17:47:09 650

转载 单链表的快速排序

单链表的特点是:单向。设头结点位head,则最后一个节点的next指向NULL。如果只知道头结点head,请问怎么将该链表排序?               设结点结构为[cpp] view plaincopystruct Node{      int key;      Node* next;  };      

2013-08-26 23:21:30 31886 10

转载 求一个字符串中连续出现次数最多的子串

#include #include #include #include using namespace std; map fun(const string &str) { vector substrs; int maxcount = 1, count = 1; string substr; int i, len = str.length

2013-08-25 11:17:06 802

Linux命令大全

Linux命令大全,查找命令很方便。也有详细说明。

2012-12-03

空空如也

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

TA关注的人

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