分类:c/c++

Hash function

一些据说还凑活的hash function,需要的时候可以拿来主义~

1. 最简单的

unsigned long hash(unsigned char *str)
{
    unsi[......]

Read more

Tags :

仿函数,函数对象,functor

仿函数,函数对象,functor
重载函数调用的运算符即可,很简单~

#include <functional>
#include <iostream>
using[......]

Read more

Tags :

引用计数智能指针的简单实现

「摘自 《The C++ Standard Library – A Tutorial and Reference》」

#ifndef COUNTED_PTR_HPP
#define COU[......]

Read more

Tags :

C++中重载超类方法部分版本的办法

有这样一个程序的样例:

#include "iostream"
using namespace std;

class Foo
{
public:
	virtua[......]

Read more

Tags :

C语言技巧:NULL==x还是x==NULL?

判断值相等的时候,把常量写到前面和后面其实没啥区别,但是可以有效避免把==写成=,很多时候,如果把x==3写成x=3,编译器甚至不会报warning,这就会造成难以定位的隐患。如果写成3==x,若写错[……]

Read more

Tags : ,

「C/C++」趣题:如何不用循环和条件语句输出1-100的数

http://stackoverflow.com/questions/4568645/printing-1-to-1000-without-loop-or-conditionals/

stack[……]

Read more

Tags : ,

Euclidean Algorithm的时间复杂度

Euclidean Algorithm就是GCD,求最大公约数的,大概代码如下:
递归:

// a > b
int gcd(int a, int b){
    if (b == 0[......]

Read more

Tags : , ,

C中字符串处理相关

这是一个纯吐槽文,我的C水平实在是小学生水平,写点代码漏洞摆出,改个bug耗时耗力,至此我重新明白一个真理,就是要多练…

一个工作,假设输入是这样的,一行,一个字符串一个数字:

hel[......]

Read more

Tags :

位图算法缩小存储规模

搜索引擎系统中有一个很重要的部分是爬虫,而爬虫的实现上有一个关键点就是url去重,经典的去重方法是Bloom Filter。Bloom Filter利用了Hash和Bitmap来使时间和空间上的效率都[……]

Read more

Tags : ,

源码中几个字符串函数的优雅实现

以下是linux内核源码中的实现,与GNU C标准库是略有出入的:
————
strcpy:

char *strcpy(char *dest, const char *src[......]

Read more

Tags :