社区
C++ 语言
帖子详情
std::deque
怎样用 stable_sort()
xili
2005-08-12 12:26:26
std::deque<my_class * ptr> 怎样用 stable_sort()?
直接用的话, 它是按照 ptr 的地址 排序的.
俺要用 my_class 的 operator<() 来排序.
...全文
120
6
打赏
收藏
std::deque<my_class * ptr> 怎样用 stable_sort()
std::deque 怎样用 stable_sort()? 直接用的话, 它是按照 ptr 的地址 排序的. 俺要用 my_class 的 operator<() 来排序.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
foochow
2005-08-12
打赏
举报
回复
.....................
class myclass
{
private:
int i;
public:
myclass(int i=0):i(i){};
friend bool compares(const myclass*s1,const myclass*s2)
{
return s1->i<s2->i;
}
};
deque<myclass*>temp;
temp.push_back(new myclass(3));
temp.push_back(new myclass(2));
temp.push_back(new myclass(6));
temp.push_back(new myclass(2));
temp.push_back(new myclass(15));
temp.push_back(new myclass(10));
stable_sort(temp.begin(),temp.end(),compares);
.................
lw1a2
2005-08-12
打赏
举报
回复
类的指针用类的规则来排序?
foochow
2005-08-12
打赏
举报
回复
必须写 friend 吗?
...
可以像 boxban(冻酸梨) ( ) 那样,也可以
class myclass
{
private:
int i;
public:
myclass(int i=0):i(i){};
int couts()const
{
return i;
}
};
bool compares(const myclass*s1,const myclass*s2)
{
return s1->couts()<s2->couts();
}
boxban
2005-08-12
打赏
举报
回复
bool comp_my_class_ptr(const my_class* a, const my_class* b)
{
return (*a) < (*b);
//需在my_class 类中重载 bool operator < (const my_class& r)
}
std::stable_sort(q.begin(), q.end(), comp_my_class_ptr);
darkstar21cn
2005-08-12
打赏
举报
回复
重载operator<()也可以的
stable_sort(temp.begin(),temp.end());
xili
2005-08-12
打赏
举报
回复
必须写 friend 吗?
STL笔记(3)- Effective STL
必须将i转换成
deque
<int>::const_itertaor, 否则distance模板无法编译. */ distance 两个迭代器之间的距离 , advance 将迭代器移动指定距离 . 28: 正确理解有 reverse_iterator 的 base() ...
C++17新特性(四)已有标准库的拓展和修改
进行逻辑或运算 negation 对bool特征B进行非运算 is_execution_policy 是否执行策略类型 另外,is_literal_type<>和result_of<>自从C++17起被废弃。 template<typename T> struct D : string, complex<T> { string ...
【boost库】容器
侵入式容器要求元素本身包含用于容器连接的指针,容器不需要额外的内存来存储元素的链接 通过该设计可以减少内存开销,同时使得容器操作也更加的高效 struct MyStruct : public boost::intrusive::list_base_hook<> ...
Boost C++ 库学习手册(三)
原文:zh.annas-archive.org/md5/9ADEA77D24CFF2D20B546...这些包括序列容器,如
std
::vector、
std
::
deque
、
std
::list、
std
::forward_list,以及有序和无序的关联容器,如
std
::map、
std
::set、
std
::unordered_map、
std
::
STL学习小结
<itertator>中,我们完全可以不管迭代器类是怎么实现的,大多数的时候,把它理解为指针是没有问题的(指针是迭代器的一个特例,它也属于迭代器),但是,决不能完全这么做。 迭代器功能 输入迭代器 Input ...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章