- 博客(14)
- 资源 (14)
- 收藏
- 关注
原创 快速排序的另种高效率的写法
快速排序是大家所熟知的排序算法,昨天立文问起我这个算法来;虽然代码不费力可以正常跑,可我发现里面有诸多问题;他写的代码就不公布了;首先,里面的两个小循环的位置不能随意调换的,Pivot的位置和两个小循环的关系密切哦^_^第二, 这个程序效率是最高的,其他快速排序的写法每交换一对记录需进行3次赋值,实际上,在排序过程中对枢轴记录的赋值是多余的,因为只有在一趟排序结束时,low = = hig
2008-06-30 22:56:00 2692
原创 字符串hash算法比较 AND 经典HASH函数
字符串的算法一般大公司都会考到,我们首先要想到高效的hash。如百度查找一组字符串是否出现在某个文本中,这个不是考什么kmp,他们想听到的是hash。趋势科技考的是从某个文本中删除一组字符串,我想也是要hash吧。 1 概述 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时
2008-06-23 20:37:00 1823 1
原创 浅析:setsockopt()改善程序的健壮性
文章已经http://hi.baidu.com/chary8088/blog/item/a47bfbd1c01d4fd6562c843f.html这格式让人无法忍受!!!!我先用 高级编辑模式 打开后就是下面的格式又换作普通模式,还是下面这个格式,乱把内容粘贴到记事本里,再从记事本里粘贴过来还是乱我忍受不了,贴到上面的地址里了 1. 如果在已经处于 ESTA
2008-06-19 21:23:00 752
转载 socket编程:SO_REUSEADDR例解
网友vmstat多次提出了这个问题:SO_REUSEADDR有什么用处和怎么使用。而且很多网友在编写网络程式时也会碰到这个问题。所以特意写了这么一篇文章,希望能够解答一些人的疑难。 其实这个问题在Richard Stevens的《Unix网络编程指南》卷一里有很周详的解答(中文版P166-168页)。这里我只是写几个基本的例子来验证这个问题。 首先声明一个问题:
2008-06-19 13:04:00 1278
转载 Linux网络编程一步一步学-select详解
select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文 件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descriptor for th
2008-06-15 20:45:00 808
原创 网络中的一些细节
在参考资料里看到的一些关于网络编程的细节,觉得挺有用,也挺基础的,高手就不要看了,免得笑话我,我也只是在此复习一下,为加深记忆。一些刚入门的朋友遇到问题时也可以参考参考。 1、IP地址在程序中的表示方法并不是那么的直观,我们习惯的是十进制的点分式,例如192.168.1.1、127.0.0.1。人们一般定义一个长16的数组来存放。可是IP协议头部中的IP地址只有32位,也就是4个字节,
2008-06-15 13:56:00 886
原创 FreeBSD系统编程[简体中文版]
参考链接: [url=http://bbs.chinaunix.net/viewthread.php?tid=699102&extra=page%3D1]【FreeBSD system programming 】中文翻译计划及所有异义提交处 [size=5][align=center]FreeBSD系统编程[/align][/size] Copyright(C) 2001~200
2008-06-14 13:02:00 3382
原创 socket编程指南及示例程序二(转载)
7 UDP用最通俗的话讲,所谓UDP,就是发送出去就不管的一种网络协议。因此UDP编程的发送端只管发送就可以了,不用检查网络连接状态。下面用例子来说明怎样编写UDP,并会详细解释每个API和数据类型。7.1 UDP广播发送程序下面是一个用UDP发送广播报文的例子。#include #include void main(){ SOCKET s
2008-06-13 23:50:00 893
原创 Linux下的多线程编程 .4(ZT)
[精华] 转贴: pthread 解读 (一) Posix线程编程指南(1) 内容:一、 线程创建 二、线程取消 关于作者 线程创建与取消 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。 一、 线程创建1.1 线程与进程 相对进程而言,线程
2008-06-13 23:44:00 791
原创 EPOLL应用详解
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __
2008-06-13 23:00:00 765
转载 一般文件操作(包括管道和套接字)
Table of Contents 2.1. 如何管理多个连接? 2.2. 我如何才能知道和对方的连接被终止? 2.3. 什么是读取目录的最好方法? 2.4. 我如何才能知道一个文件被另外进程打开? 2.5. 我如何锁住一个文件? 2.6. 我如何能发现一个文件已由另外一个进程更新? 2.7. 请问du是怎样工作的? 2.8. 我如何得到一个文件的长度? 2.9. 我如何像shell里一样扩展在文
2008-06-13 22:44:00 1483
原创 http协议中有关http头的技术资料
一、基础篇 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议
2008-06-05 10:11:00 733
原创 HTTP协议详细资料
以下内容为转贴内容,如作者有相关版权要求,请与我联系,我会全部添加。一、基础篇 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的
2008-06-04 20:48:00 1045 1
CLR/C++学习资料 上
2011-04-05
CLR/C++学习资料(下)
2011-04-05
5M大小的最新版linux操作系统
2008-12-16
邮箱专家1.1正式版(Socket , C++,ESMTP编写)
2008-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人