- 博客(21)
- 资源 (9)
- 收藏
- 关注
原创 判断ip
#include #include #include #include #define IPV4 1#define IPV6 2int is_ip(const char *ip, int ip_type){ struct in_addr ipv4; struct in6_addr ipv6; int ret; if (ip_type == IPV4) { r
2014-10-17 00:29:40 607
原创 html
var hexcase = 0; var b64pad = "";var chrsz = 8; function calc_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}function core_md5(x, len){ x[len >> 5] |= 0x80 << ((len) % 3
2014-08-19 22:06:49 518
原创 正则表达式
IP:^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$
2014-07-16 06:29:37 566
转载 C++ 多继承和虚继承的内存布局
警告. 本文有点技术难度,需要读者了解C++和一些汇编语言知识。在本文中,我们解释由gcc编译器实现多继承和虚继承的对象的布局。虽然在理想的C++程序中不需要知道这些编译器内部细节,但不幸的是多重继承(特别是虚拟继承)的实现方式有各种各样的不太明确的结论(尤其是,关于向下转型指针,使用指向指针的指针,还有虚拟基类的构造方法的调用命令)。 如果你了解多重继承是如何实现的,你就能预见到这些
2013-10-18 19:52:30 1273
原创 先序遍历和中序遍历创建二叉树
#include #include #include #define N 50 using namespace std; struct node_t { char data; struct node_t *lchild; struct node_t *rchild; node_t() {}; node_t(char ch, node_t *
2013-07-10 15:23:00 700
翻译 位运算之美——用+,-和位运算实现整数除法和取模(一)
今天看了一位师兄去年的笔经总结,其中有一题是“不许用%和/来实现求任意数除以3的余数”,我想考官的目的应该是想考察学生对位运算的熟悉程度吧,于是我把题目扩展成“只能用+,-和位运算实现整数除法(/)和取模(%)”,注意:这里不能使用其它的库例程来辅助计算,如log,log10等。在思考这道题目的过程中,我又涉及到了许多二进制相关的题目,如: 判断给定的整数是不是2的整数次幂 判
2013-07-09 18:18:25 911
翻译 腾讯实习生被鄙视有感
本来不想参加腾讯实习招聘活动的,因为觉得如果不好好准备的话根本没戏,事情证明确实如此。而且我的做事风格向来如此,如果我想做一件事,肯定提前两个月来准备。大学三年想做的事基本都做成了,因为我觉得自己善于规划找机会。被同学拉去笔试,前一天晚上匆匆看了几眼程序员的面试宝典。第二天去西工大笔试,当时笔试地点还有点小变动,一顿狂奔之后到了目的地。 由于场地问题,组织者还花了点小时间调座位,还好我抢
2013-07-05 07:14:09 1029
转载 IT工科女硕士-求职总结帖
第一次发帖,难免有些许紧张,在奖品的诱惑之下,终于决定把我这几个月来的求职经验晒一晒,希望对日后找工作的孩纸,尤其是学IT的工科女生有些许帮助~ 10月13号,拿完百度offer,终于可以停下脚步定下心了,回想求职过程,感慨万千啊。1. 关于求职前的选择与准备 对于一个想从事IT或互联网的女生来说,在找工作之前需要考虑很多问题,想好自己未来要走的路,你想去哪些城市、想去什
2013-06-24 14:30:06 2650 2
转载 深入探讨超越设计模式之外的设计原则
GOF 的设计模式推出以后,受到程序员的热烈追捧,很多程序员不亦乐乎的埋头苦读甚至背诵其 23 个设计模式,并以熟悉设计模式而自豪。然而,在实际的程序设计中,很多程序员并未能把设计模式应用到自己的场景中。原因有很多,设计模式太多以至于常常被 混淆;设计模式应用场景太局限或者程序员自己意识不到应用的场景。综合各种原因,根本原因只有一个,程序员并不能透彻理解,熟练应用设计模式的核心思想。 笔者认为,设
2013-05-08 21:38:23 654
原创 main函数之前、之后调用的函数
本以为主函数main被返回之后操作系统将回收资源,却不知一个重要的函数—atexit()。程序退出的时候需要一些诸如释放资源的操作,但是程序的退出有很多种,可能是main函数结束范围一个值传递给exit(),也可能是一些其他的原因,所以需要一种与程序结束方式无关的方法来进行程序退出时必要的处理。 函数原型:int atexit(void(*)(void));函数作用:注册一
2013-04-18 09:03:18 1333
原创 排序算法
排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。 概述内排序的方法有许多种,按所用策略不
2013-04-16 08:12:25 601
原创 后缀数组模板
研究了很久,终于有自己的后缀数组模板了~~~~#include #include #include #define LEN 256void SuffixArray(char *str, int *rank, int *sa, int sz, int len) { int v0, v1, v00, v01, p; int *s = (int *)malloc(sz
2013-03-26 15:44:24 615
原创 位图
位图是一种常用的数据结构,常用于排序和数据压缩,本文介绍位图的实现。#define WORD 32#define SHIFT 5 ////移动5个位,左移则相当于乘以32,右移相当于除以32取整#define MASK 0x1F //16进制下的31#define N 10000000int bitmap[1 + N / WORD];/* * 置位函数——用"|"操作符,i&M
2013-03-21 16:15:37 646
转载 并查集
本文转载自: http://www.ahathinking.com/archives/10.html昨天和今天学习了并查集和trie树,并练习了三道入门题目,理解更为深刻,觉得有必要总结一下,这其中的内容定义之类的是取自网络,操作的说明解释及程序的注释部分为个人理解。并查集学习:l 并查集:(union-find sets)一种简单的用途广泛的集合. 并
2013-03-21 16:07:38 772
转载 全排列的算法思想和实现
所谓全排列,就是将集合中元素的所有排列情况依次输出。比如{1、2、3}的全排列为:123、132、213、231、312、321,共6种,满足计算公式N!(N为集合中元素个数,不重复)。当元素不重复时,全排列采用递归思想较容易实现,它的递归公式推导步骤类似:1、要求得123的全排列,只需求得:1并上23的全排列(1 23, 1 32),2并上13的全排列(2 13, 2 31),3并上12的全排列
2013-03-14 20:41:32 992
翻译 人一生中最重要的是专注
半个多世纪以来,沃伦·巴菲特一直都恰到好处地把握了时机。对于这位传奇投资家,他的长期投资取得了惊人的回报,甚至有些学者都不敢相信,认为这只是侥幸成功。 巴菲特自己把他的成功归结为“专注”。施罗德写道:“他除了关注商业活动外,几乎对其他一切如艺术、文学、科学、旅行、建筑等全都充耳不闻——因此他能够专心致志追寻自己的激情。”施罗德说,在小时候,沃伦就随身携带着自己最珍贵的财产,自动换币器。而10
2012-11-19 12:16:41 739
转载 十大常用数据结构
一、栈: 1、后缀表达式的求值; 2、中缀到后缀表达式的转换; 3、深度优先搜索的非递归实现; 4、动态规划的优化:用于维护一个凸序列,便于二分查找,如LIS问题的O(nlgn)算法。 二、队列: 1、树的层序遍历; 2、广度优先搜索; 3、Bellman-Ford算法的SPFA实现; 4、网络流中FF算法的Edmonds-Karp实现,以及Preflo
2012-10-06 21:55:28 863
原创 八大排序算法
1、 插入排序(1)直接插入排序//a[]从0起,时间复杂度为:O(n^2)void insert_sort(int a[], int length){ int i, j; int temp; for(i = 1; i < length; i++) { temp = a[i]; j = i - 1;
2012-08-10 07:27:27 545
转载 常量字符串为什么位于静态存储区?
常量字符串为什么位于静态存储区?char *c="zhaobei";书上说: "zhaobei"这个字符串被当作常量而且被放置在此程序的内存静态区。那一般的int i=1;1也是常量,为什么1就不被放置在此程序的内存静态区了呢?请高手指点!所有的字符窜常量都被放在静态内存区因为字符串常量很少需要修改,放在静态内存区会提高效率例:cha
2012-07-15 09:44:46 1805
转载 背包问题
[问题]:己知一个容量为weight的背包。现在要从n种物品中选取若干装入背包中,每种物品的重量为w(i) 、价值为p(i) 。定义一种可行的背包装载为:背包中物品的总重量不能超过背包的容量,并且一个物品要么全部选取,要么不选取。采取怎样的装包方案才会使装入背包的物品总效益值最大?【输入】weightnw(i)p(i)【输出】可行装载方案 (0代表不取,1代表取)总
2012-06-03 14:19:14 742
原创 C++格式化输入输出
cout.precision()设置小数点后精确度,cout.width()设置宽度,cout.setf()设置显示格式,比如cout.setf(ios::left)左对齐cout.setf(ios::showpoint)不管是否有小数位,显示小数点cout.fill();不足宽度则填充,如cout.fill('0'); 补充(部分是ioma
2012-06-03 14:16:00 654
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人