vector中如何用qsort进行排序

hjcao_wei 2003-03-23 03:16:54
class A
{
};
vector<A*> AV;
如何用qsort对AV进行排序
谢谢
...全文
761 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjcao_wei 2003-03-24
  • 打赏
  • 举报
回复
问题已经解决:
定义一个调用操作符重载就可以
hjcao_wei 2003-03-24
  • 打赏
  • 举报
回复
template<class RanIt, class Pred>
void sort(RanIt first, RanIt last, Pred pr);
在vc6的stl中,pr好像只能传函数指针有没有办法传class对象,否则定制排序有一定的困难
有没有这方面的例子
TopCat 2003-03-24
  • 打赏
  • 举报
回复
STL的所有sort的时间复杂度要求是不低于O(nlog(n)) (快速排序的时间复杂度),这点你放心。
bluebird97073 2003-03-24
  • 打赏
  • 举报
回复
由于qsort还不过稳定
所以,STL中一般采用的是所谓stable_sort
______________________________________
stl中排序算法有好几个

包括了sort,stable_sort ,....

hitman 2003-03-24
  • 打赏
  • 举报
回复
由于qsort还不过稳定
所以,STL中一般采用的是所谓stable_sort
bluebird97073 2003-03-24
  • 打赏
  • 举报
回复
stl的sort用的因该就是快速排序
因为你存的是指针。当然要定制排序操作子,用函数或函数对象都可以
函数对象好一些,可以内联,效率高。
hjcao_wei 2003-03-24
  • 打赏
  • 举报
回复
首先我需要定制
其次sort是否不如qsort快
请指教
complexity 2003-03-23
  • 打赏
  • 举报
回复
用stl的时候,不需要qsort

直接用sort就可以了

这是stl文档中的一个例子

#include<algorithm>
int A[] = {1, 4, 2, 8, 5, 7};
const int N = sizeof(A) / sizeof(int);
sort(A, A + N);

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧