c++快速排序实例

来源:互联网 发布:吃鸡优化差 编辑:程序博客网 时间:2024/05/19 13:07

//////////////////////////////快速排序与查找////////////////////////////////////////////

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//////////////////////////////////////////

}