读书人

有关问题的C++STL的解决方案

发布时间: 2012-02-29 16:44:10 作者: rapoo

求一个问题的C++STL的解决方案
有如下结构体:
typedef struct
{
double kDistVal;
int kDistIdx;
}K_DIST;
然后定义一个结构体数组:K_DIST kDist[100];
现在要对kDist按照结构体中关键字kDistVal排序,然后kDistIdx也要相应交换,用STL怎么做呢?
谢谢!

[解决办法]
定义一个比较大小的函数,在sort里面作为函数指针传进去。
[解决办法]
第一:struct重载一个operator<();

使用一个容器来装所有的节点

第二:std:sort(containter.begin(),container.end());
[解决办法]
sort(begin, end, IsGreat);
IsGreat函数里面按照你的要求比较大小,比较大小的时候交换。
[解决办法]
按照容器的要求实现对结构的比较函数,之后就可对待普通数据类型一样进行排序了,其中最好实现拷贝构造方法和=操作符重载

读书人网 >C++

热点推荐