社区
C++ 语言
帖子详情
vector内嵌套Vector进行排序
killer9806
2011-07-19 11:08:38
struct temp
{
vector<double> vtRad;
int i;
};
vector<temp> vtTemp;
想把vtTemp先按照i进行排序,当i相同时,利用vtRad的大小进行排序。
...全文
417
6
打赏
收藏
vector内嵌套Vector进行排序
struct temp { vector vtRad; int i; }; vector vtTemp; 想把vtTemp先按照i进行排序,当i相同时,利用vtRad的大小进行排序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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++版
收集工作中经常遇到、经典的问题,抽象并给出交较优答案,方便同事优化、学习。用C++实现,本课程将持续... 七,元素是
vector
的二分查找,也就是
vector
<
vector
<int>>中二分查找。 八,具体的例子。
C++中
vector
的
嵌套
使用方法以及作为形参的三种方式
项目场景: 题目: LeetCode 841.钥匙和房间 在做这一题时,遇到了
vector
的使用问题以及
vector
作为函数形参时涉及&与*的问题,故做整理。 问题描述: 例如:函数的形参使用了
vector
嵌套
的同时使用了&引用,那么主函数中如何传入实参? bool canVisitAllRooms(
vector
<
vector
<int> >& rooms) 经过查询后解决方法如下:
vector
<
vector
<int> > t; v
使用C++中的
vector
容器
进行
数据
排序
vector
是C++标准库中的一个容器,它提供了动态数组的功能,可以方便地存储和操作一系列数据。在实际编程中,我们经常需要对
vector
中的数据
进行
排序
,以便更好地组织和利用这些数据。本文将介绍如何使用
vector
容器
进行
数据
排序
的方法,并提供相应的源代码示例。接下来,我们使用一个循环遍历
排序
后的
vector
,并输出
排序
结果。首先,我们需要包含头文件,以便使用
vector
容器和相关的函数。总结起来,我们可以使用C++中的
vector
容器对数据
进行
排序
。函数的参数,表示对整个
vector
进行
排序
。
力扣435 无重叠子区间 贪心以及双重
嵌套
vector
的
排序
LC435无重叠子区间 题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没有重叠。 示例 2: 输入: [ [1,2], [1,2], [1,2] ] 输出: 2 解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。 示例 3: 输
c++STL
vector
嵌套
容器实现(九)
这里有C++STL——全面总结详细教程(附案例解析)(持续更新中)
vector
好比一维数组
嵌套
好比二位数组
vector
<
vector
<int>> v; 先是里面的
vector
遍历完,然后再是外面
vector
加1,再遍历里面的
vector
#include<iostream> #include<
vector
> using...
C++ 语言
64,683
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章