- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 memcpy & strcmp的实现
memcpy的实现,注意重合的情况,还有size_t类型没有-1,为无符号整型。代码如下#include using namespace std;void *memcpy(void *dest, const void *src, size_t num){ char *destc = (char *)dest; const char *srcc
2012-10-11 09:15:38 795
原创 位类型数据
#include using namespace std;int main(){ struct A { unsigned int a:1; unsigned int b:2; int c:1; int d:2;
2012-10-09 10:31:08 1176
原创 v模型与w模型
v模型最典型的V模型版本一般会在其开始部分对软件开发过程进行描述,为古老的瀑布模型。在V模型中,测试过程被加在开发过程的后半部分,单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。如图下: V模型的缺陷 仅仅把测试过
2012-10-09 10:02:16 14024
原创 tcp实现回射服务器
linux下的tcp套接字实现的回射服务器,也就是客户发送一段,服务器把这段返回给客户。客户端#include #include #include #include #include #define SERV_PORT 5566#define CLIENT_PORT 5567#define MAX_MESG_SIZE 1024using namespac
2012-10-07 15:46:58 2686
原创 unp实现回射服务器
linux下的udp套接字实现的回射服务器,也就是客户发送一段,服务器把这段返回给客户。客户端#include #include #include #include #include #define SERV_PORT 5566#define MAX_MESG_SIZE 1024using namespace std;int main(){
2012-10-07 14:38:45 1413
原创 linux 套接字接口
大多参考unp,算个总结一、套接字地址结构1)IPv4套接字地址IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在头文件里面,下面是POSIX定义struct in_addr{ in_addr_t s_addr; //32bit IPv4 address, network byte ordered};这个结构只有一个32位的无
2012-10-07 14:34:51 1400
原创 数据模型
数据模型跟操作系统有关系,我们一般用的32位环境,linux和windows下,为ILP32数据模型。但是64位的就不一样了,一般Linux64为的long类型和指针都变成了64位,为LP64数据模型。而64的window64位采用的为LLP64数据模型,这个模型下,long还是为4个字节的,只有指针变成了64位的。大多操作系统如下:下图中颜色不同的要格外注意:参考:h
2012-10-06 15:05:30 758
原创 IPv6
先随便写一点,大多参考UNIX网络编程,以后在更新这个。首部格式如下:介绍下几个字段的意思:4为版本(version)字段为6,这个没啥好说的,不过这个字段好像没什么用,因为IPv4和IPv6不兼容,在数据链路层都已经加以区分了,比如以太网数据链路层的数据帧,已经用不同协议族的协议帧来区分开来了。20位流标签(flow label)。貌似这个字段的用途还有待确认,可以用内核或者
2012-10-05 10:22:40 5934
原创 map与hash_map
最根本的区别为底层的实现机制不同,map底层实现为红黑时,hash_map为hash表,所以就有一些其他方面的不同:1)map存储的时候为排好序的,所以输出时候也是排序的。而hash_map不是的。2)map具有稳定性,底层存储为树,这种算法差不多相当与list线性容器的折半查找的效率一样,都是O (log2N)。而hash_map使用hash表来排列配对,hash表是使用关键字来计算表位
2012-10-04 16:41:30 4142
原创 排序使得数组负数在正数左边且按照原来的顺序
假设一整型数组存在若干正数和负数,现在通过某种算法使得该数组的所有负数在正数的左边,且保证负数件和正数间元素相对位置不变。时空复杂度要求分别为:o(n),o(1)例如 -3 4 2 -1 7 3 -5 排序后 -3 -1 -5 4 2 7 3 采用整体冒泡的思想,先从后找到第一个负数,然后把这一个负数看成一个“元素”,再看这个负数前面是正数还是负数,如果是负数,
2012-10-04 16:26:02 3583 2
原创 判断一个数是不是四的幂次
知道的大概有三种算法1)直接算,首先看这个num可不可以被四整除,可以的话除四,不可以返回false,一直到最后看是不是等于1,这种方法对于每个数都是通用的。2)直接查找,其实也很快,一共32位,每次把1左移两位,一直移动15次就可以找到所以4的幂次了,感觉这样速度很快,只要15次运算。而且对于一半的数都通用,一般的数假如是3,那么就每次乘以三就好了。3)分析,如果是四的幂次,肯定是把
2012-10-03 09:28:44 1616
原创 查找攻击IP
这是百度的一道笔试题好像是08年的。给你1亿个ip地址和每个ip访问的时间(00:00:00=输入示例:(为了方便,只给出8个,意思意思)8 10 210.254.82.126 00:00:3910.85.124.135 00:00:4010.254.82.126 00:00:4410.254.82.126 00:00:4410.1.82.125 00:00:451
2012-10-02 11:24:46 2090
原创 兑换零钱
#include #include using namespace std;//我们知道人民币有1、2、5、10、20、50、100这几种面值。//现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。//比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。void print_result(list resu
2012-10-01 20:44:57 1512
原创 求一个字符串中字符不重复的连续的子串
求一个字符串中字符不重复的连续的子串,例如abcabcda最长的一个字符没有重复的为abcd。采用动态规划法,把上一次出现不重复的结果放在一个整型数组里面a[128],这个数组里面存放的为每个字符出现的相对于字符串的偏移量,例如字符串abca,b的ascii为98,位置为1,则a[98] = 1;记录每个出现的字符偏移量,当出现重复字符的时候,计算当前的长度,如果大于maxLen更新长度,并记下起
2012-10-01 19:42:00 4398 1
原创 TCP/IP学习(六)拥塞控制与定时器
TCP的交互数据流和成块数据流经受时延的确认为什么要分这两类呢?如果按照分析数量来计算,约有一半的TCP报文段包含成块数据(FTP、电子邮件),另一半则包含交互数据(Telnet和Rlogin)。成块的报文段基本上都是满长度的,而交互数据则小的多,可能一个交互过程只发送一个字节的数据,而需要传输20个IP的头,20个字节的TCP的头,这个时候网络的利用率就会很低。例如Rlogin需要远程系
2012-10-01 14:55:00 2028
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人