测试_StringFind_IntArrFind

需求:
1000000个数, 
存在char*里strstr("9999,")  快?  
存在IntArr里for循环查找  快?
void testarr_init(int testnum, int **intarr, char **stringarr)
{
*intarr = (int *)calloc(testnum, sizeof(int));
*stringarr = (char *)calloc(testnum, sizeof(char)*8);

int *pIntarr = *intarr;

char temp[16];

for (int i= 0; i< testnum; i++)
{
*pIntarr++ = i;

itoa(i, temp,
10);
strcat(temp,
",");
strcat(
*stringarr, temp);
}
}

void compare_intarr_string_find()
{
int testnum = 100000;

int *intarr_head;
char *stringarr_head;

testarr_init(testnum,
&intarr_head, &stringarr_head);

int iKey = intarr_find(99999, intarr_head, testnum);
char *pKey = string_find("99999,", stringarr_head);

printf(
"%d\n", intarr_head[iKey]);
printf(
"%s\n", pKey);

free(stringarr_head);
free(intarr_head);
}
结论:
intarr查找较快.

posted on 2011-01-20 16:24  oleeceo  阅读(181)  评论(0)    收藏  举报

导航