//快速排序与查找
int compare( char **arg1, char **arg2 )
{
/* Compare all of both strings: */
return _strcmpi( *arg1, *arg2 );
}
int main()
{
//以下代码对3个数进行排序,并对其中一个进行查找
char **result;
char *key = "0099";
int i;
TCHAR a1[MAX_PATH],a2[MAX_PATH],a3[MAX_PATH];
TCHAR * aaa[3];
_tcscpy(a1,_T("1000"));
_tcscpy(a2,_T("0099"));
_tcscpy(a3,_T("1245"));
aaa[0]=a1;
aaa[1]=a2;
aaa[2]=a3;
qsort( (void *)aaa, 3, sizeof( char * ), (int (*)(const
void*, const void*))compare );
for( i = 0; i < 3; ++i ) /* Output sorted list */
printf( "%s ", aaa[i] );
result = (char **)bsearch( (char *) &key, (char *)aaa, 3,
sizeof( char * ), (int (*)(const void*, const void*))compare );
if( result )
printf( "\n%s found at %Fp\n", *result, result );
else
printf( "\nCat not found!\n" );
//快速排序与查找 Ends here//
}