博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sort函数用于vector向量的排序
阅读量:4677 次
发布时间:2019-06-09

本文共 1100 字,大约阅读时间需要 3 分钟。

参考资料:

作者注:这篇文章写得相当全面,包括对vector和set中不同数据类型(包括结构体)的排序,还有一些还没看懂……特作此摘录,供当前及日后的学习

sort函数默认从小到大的排序。

一般类型的排序(int,double,char)

vector
vec; for (int i = 0; i < 10;i++) { vec.push_back(rand()); } sort(vec.begin(), vec.end()); for (vector
::iterator it = vec.begin(); it < vec.end(); it++) { cout << *it << " ";//注意这里使用*表示解引用 }

结果:

这里写图片描述

结构体类型的排序(struct)

结构体定义如下:(试验样本)

typedef struct ClassDis{    double distance;    int class1;    int class2;}ClassDis;

需要自己定义一个比较函数(因为sort默认从小到大排序,因此我们只需要定义什么情况属于“小于”就行了)

//自定义“小于”bool comp(const ClassDis &a, const ClassDis &b){    return a.distance < b.distance;}
vector
ddd; //随机赋值 for (double a = 0; a < 10;a++) { ClassDis aaa{ (double)rand(), (int)a, (int)(a + 2) }; ddd.push_back(aaa); } //sort sort(ddd.begin(), ddd.end(), comp); //输出结果 for (vector
::iterator it = ddd.begin(); it < ddd.end(); it++) { cout << it->distance << "," << it->class1 << "," << it->class2 << endl; }

结果:

这里写图片描述

转载于:https://www.cnblogs.com/whuls/p/9356525.html

你可能感兴趣的文章
os & sys
查看>>
Shell 常用命令总结
查看>>
vector
查看>>
杨辉三角
查看>>
用分布式缓存提升ASP.NET Core性能
查看>>
Spring+EhCache缓存实例(具体解说+源代码下载)
查看>>
JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储。浮点型数据使用注意事项。全局变量特殊之处...
查看>>
170427、centos6.5配置duboo
查看>>
在花旗的几点体会
查看>>
backbone showcase
查看>>
【js基础修炼之路】— 浅谈this关键字
查看>>
[MySQL FAQ]系列 -- mysql如何计算打开文件数
查看>>
《数据结构》相关题目
查看>>
Codeforces Round #431 (Div. 2) A 水 B 暴力模拟 C 思维
查看>>
php-fpm 进程管理
查看>>
nginx相关知识
查看>>
[linux-内核][转]内核日志及printk结构浅析
查看>>
实变函数基本理论及其应用
查看>>
JAVA操作properties文件
查看>>
JavaScript读书笔记
查看>>