为什么C++中的sort比C中的qsort慢非常非常多啊该怎么处理

为什么C++中的sort比C中的qsort慢非常非常多啊?
对比了std::sort和qsort,发现速度差异相当大,至少100倍,请大家帮我分析一下原因吧,非常感谢!!

char   **text;

text   =   new   char   *[1000000];

/*   text赋值部分省略   */

/*   用C中的qsort,大概10s左右就可以完成   */
int   comp(char   **p,   char   **q)
{   return   strcmp(*p,   *q);   }
qsort(text,   1000000,   sizeof(char   *),   comp);

/*   用C++中的std::sort,花了十分钟了还没有结果   */
bool   cmp(const   char   *p,   const   char   *q)
{   return   strcmp(p,   q)   <   0   ?   true   :   false;   }
std::sort(text,   text   +   1000000,   cmp);



------解决方案--------------------
也可能是和strcmp的实现有关系。

建议自己写一个strcmp,然后做测试,这样问题就局限在 qsort / std::sort 上了.
------解决方案--------------------
你可以用stable_sort再试试。