社区
C++ 语言
帖子详情
vector内嵌套Vector进行排序
killer9806
2011-07-19 11:08:38
struct temp
{
vector<double> vtRad;
int i;
};
vector<temp> vtTemp;
想把vtTemp先按照i进行排序,当i相同时,利用vtRad的大小进行排序。
...全文
452
6
打赏
收藏
vector内嵌套Vector进行排序
struct temp { vector vtRad; int i; }; vector vtTemp; 想把vtTemp先按照i进行排序,当i相同时,利用vtRad的大小进行排序。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
killer9806
2011-07-23
打赏
举报
回复
谢谢回答。问题按4楼进行解决了。同时也谢谢5楼的提示
lc_windson
2011-07-22
打赏
举报
回复
[Quote=引用 3 楼 killer9806 的回复:]
谢谢。
参考上面的答案:改了一下。
bool cmp(const temp &v1,const temp &v2)
{
double dError = 0.01
if(v1.i!=v2.i)
return(v1.i<v2.i);
else
{
int isize = v1.vtRad.size();
for (int i = 0; i < isize; ……
[/Quote]
LZ有个问题想说下,你的isize是不是应该定义为size_type类型呢。c++primer上是这么写的,可能这儿问题不大,不过写成int是个不好的习惯~ ~
lifesider
2011-07-21
打赏
举报
回复
bool cmp(const temp &v1,const temp &v2)
{
double dError = 0.01
if(v1.i!=v2.i)
return(v1.i<v2.i);
else
{
int isize = v1.vtRad.size();
for (int i = 0; i < isize; i ++)
if(fabs(v1.vtRad[i] - v2.vtRad[i]) > dError)
return (v1.vtRad[i] < v2.vtRad[i]);
}
}
你的return语句都在if判断后,全局缺少return
改成如下
bool cmp(const temp &v1,const temp &v2)
{
double dError = 0.01
if(v1.i!=v2.i)
return(v1.i<v2.i);
else
{
int isize = v1.vtRad.size();
for (int i = 0; i < isize; i ++)
if(fabs(v1.vtRad[i] - v2.vtRad[i]) > dError)
return (v1.vtRad[i] < v2.vtRad[i]);
}
return true;
}
killer9806
2011-07-21
打赏
举报
回复
谢谢。
参考上面的答案:改了一下。
bool cmp(const temp &v1,const temp &v2)
{
double dError = 0.01
if(v1.i!=v2.i)
return(v1.i<v2.i);
else
{
int isize = v1.vtRad.size();
for (int i = 0; i < isize; i ++)
if(fabs(v1.vtRad[i] - v2.vtRad[i]) > dError)
return (v1.vtRad[i] < v2.vtRad[i]);
}
}
但是编译时提示:
不是所有控件都有返回值。
lc_windson
2011-07-20
打赏
举报
回复
#include <algorithm>
bool cmp(const temp &v1,const temp &v2)
{
if(v1.i!=v2.i) return(v1.i<v2.i);
else return (v1.vtRad<v2.vtRad);
}
sort(vtTemp.begin(),vtTemp.end(),cmp);
头文件嵌入algorithm,自定义sort中的cmp,然后排序就行,比较函数cmp已经列在上面了
测试通过了,希望能帮助到lz
Vegertar
2011-07-19
打赏
举报
回复
bool operator< (const temp &left, const temp &right)
{
return left.i < right.i ? true : left.i == right.i ? left.vtRad < right.vbRad : false;
}
C++中
vector
可以作为map的键值实例代码
然而,在实际开发中,我们经常会遇到一些复杂的数据结构,例如
vector
<
vector
<int>>这样的
嵌套
vector
类型,如果我们想使用这种类型作为map的键值,该如何处理?本文将详细介绍如何使用
vector
作为map的键值实例代码。 ...
c++
vector
嵌套
vector
(2级列表)
【代码】c++
vector
嵌套
vector
(2级列表)
C++中
vector
的
嵌套
使用方法以及作为形参的三种方式
例如:函数的形参使用了
vector
嵌套
的同时使用了&引用,那么主函数中如何传入实参? bool canVisitAllRooms(
vector
<
vector
<int> >& rooms) 经过查询后解决方法如下:
vector
<
vector
<int>...
力扣435 无重叠子区间 贪心以及双重
嵌套
vector
的排序
所以需要用到排序,在这里记录的话主要是为了学习一下双重
嵌套
vector
如何排序使用,我排序的规则大概是,首先升序排右端点,如果右端点相同的话,则按照左端点升序的思路。在这里记录一下我的排序的方法。代码如下:...
使用C++中的
vector
容器进行数据排序
在实际编程中,我们经常需要对
vector
中的数据
进行排序
,以便更好地组织和利用这些数据。本文将介绍如何使用
vector
容器进行数据排序的方法,并提供相应的源代码示例。接下来,我们使用一个循环遍历排序后的
vector
,并...
C++ 语言
65,184
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章