91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

純C實現的通用紅黑樹容器不好找,于是自己琢磨著實現了一個。 算法部分直接剪裁自Linux內核中的rbtree 作者主要是在此基礎上封裝了一個通用的容器 里面含有 test例子 以及 benchmark基準測試 另外這個是Windows和Linux都可以用的 由于Linux內核的rbtree用了很多C99語法,筆者還得寫了一些宏改造內核代碼 Linux下的make是完整的 Windows下提供了VS08版的sln文件(只有test木有benchmark) 附帶了一個C++里面的STL Map的benchmark

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?

#include?

#include?“rbtree_container.h“

#define?TEST_SIZE?100000

#define?SRAND?0x1234
//#define?SRAND?(time(NULL))

int?compare(void?*key1?void?*key2)
{
return?*((int*)key1)?-?*((int*)key2);?
}

int?main(void)
{
rbtree_container?tree;
rbtree_container_node?*pc?*apc[TEST_SIZE];
int?i?ret?insert_failed?find?find_failed?tree_size;
struct?timeval?begin?end;

rbtree_container_init(&tree?sizeof(int)?compare);

printf(“rbtree_container?benchmark?go?...?\n\n“);

srand(SRAND);

/*
?*?內存分配
?*/

printf(“malloc?%d?times...\n“?TEST_SIZE);

gettimeofday(&begin?NULL);

for(i=0;?i {
apc[i]?=?rbtree_container_node_malloc(&tree?4);
}

gettimeofday(&end?NULL);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-08-05?14:14??rbtree_container\
?????文件????????3149??2012-07-29?14:40??rbtree_container\benchmark.c
?????文件?????????859??2012-07-29?14:49??rbtree_container\Makefile
?????文件???????10283??2012-07-27?18:46??rbtree_container\rbtree.c
?????文件????????5967??2012-08-05?14:10??rbtree_container\rbtree.h
?????文件????????3850??2012-08-05?14:05??rbtree_container\rbtree_container.c
?????文件????????2820??2012-08-05?16:01??rbtree_container\rbtree_container.h
?????文件?????????900??2012-08-05?14:12??rbtree_container\rbtree_container.sln
?????文件????????2120??2012-07-29?14:39??rbtree_container\STL_map_benchmark.cpp
?????文件????????5268??2012-07-29?01:45??rbtree_container\test.c
?????目錄???????????0??2012-08-05?14:13??rbtree_container\vs\
?????文件????????3921??2012-08-05?14:06??rbtree_container\vs\rbtree_container.vcproj

評論

共有 條評論