vector 排序
#include <vector>
#include <algorithm> 一、vector保存的是基础数据类型(int、char、float等) vector<int> vInt;
vInt.push_back(1);
vInt.push_back(3);
vInt.push_back(2);
vInt.push_back(100);
vInt.push_back(15); sort(vInt.begin(), vInt.end()); // 从小到大 二、vector保存的是自定义数据类型 struct Person
{
string Name;
string Sex;
int Age;
int High;
Person()
:Age(0)
,High(0)
{
}
}; 方法一:
//定义比较函数
bool CmpAge(const Person& p1,const Person& p2)
{
return p1.Age < p2.Age;//小于号表示:从小到大排序(小的在前,大的在后)
//大于号相反
} 方法二: 结构体重载比较函数: struct Person
{
string Name;
string Sex;
int Age;
int High;
Person()
:Age(0)
,High(0)
{
}
bool operator < (const Person& obj) const //重载小于操作符,函数最后的 const 别忘了,否则会报错。(详见:http://www.cnblogs.com/SZxiaochun/p/7731900.html)
{
return Age < obj.Age;
}
}; //定义比较函数
bool CmpAge(Person& p1,Person& p2) (参数不要 const,否则报错)
{
return p1 < p2;//小于号表示:从小到大排序(小的在前,大的在后)
//大于号相反
} Person per1,per2;
per1.Name = "xiaochun";
per1.Sex = "男";
per1.Age = 21;
per1.High = 168; per2.Name = "chunxiao";
per2.Sex = "男";
per2.Age = 22;
per2.High = 168; vector<Person> vec_Person;
vec_Person.pushback(per1);
vec_Person.pushback(per2); //排序
sort(vec_Person.begin(),vec_Person.end(),CmpAge); //vector输出
//省略
......
vector 排序的更多相关文章
- 1016. Phone Bills (25) -vector排序(sort函数)
题目如下: A long-distance telephone company charges its customers by the following rules: Making a long- ...
- C++ vector 排序
C++ vector 排序 C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结 ...
- 2.2 C语言_实现数据容器vector(排序功能)
上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能. 排序算法我们网上一百度哇~~!很常见的就有8大排序算法: 1.选择排序 ...
- NX二次开发-C++的vector排序去重用法
#include <algorithm> //vector排序去重 sort( BoxNum.begin(), BoxNum.end()); BoxNum.erase(unique(Box ...
- STL之使用vector排序
应用场景: 在内存中维持一个有序的vector: // VectorSort.cpp : Defines the entry point for the console application. #i ...
- C++中的结构体vector排序
在包含了头文件#include <algorithm>之后,就可以直接利用sort函数对一个vector进行排序了: // sort algorithm example #include ...
- vector排序
// VectorSort.cpp : Defines the entry point for the console application. // #include "stdafx.h& ...
- java.util.Vector排序
Vector的排序: import java.util.*; class MyCompare implements Comparator //实现Comparator,定义自己的比较方法{public ...
- C++标准库 vector排序
前天要做一个对C++ STL的vector容器做一个排序操作,之前一直把vector当做一个容量可自动变化的数组,是的,数组,所以打算按照对数组进行排序的方法:用快速排序或是冒泡排序等算法自己写一个排 ...
随机推荐
- django post和get 比较
当我们提交表单仅仅需要获取数据时就可以用GET: 而当我们提交表单时需要更改服务器数据的状态,或者说发送e-mail,或者其他不仅仅是获取并显示数据的时候就使用POST. 在这个搜索书籍的例子里,我们 ...
- LaTeX多文件编译的方法总结
LaTeX多文件编译的方法总结 在编写LaTeX文档的时候,由于文档的section较多,或者section的编写时间各不相同,我们可能碰到如下问题: 1.由于想分开编写各个section 2.pre ...
- 关于TcpClient,Socket连接超时的几种处理方法
用TcpClient做通信的时候,经常发现网络连接不通的时候,代码就卡死在那里,TcpClient竟然没有超时的设定 泪奔啊 看来微软不是把所有工具准备得妥妥当当的啊 没办法 现在用线程来包装一下这个 ...
- ubuntu的交换分区和系统休眠
因为休眠功能在部分计算机上不能正常工作,所以自16.04后,ubuntu不在默认开启休眠功能. 要开启休眠功能需要如下条件. 1.要有交换分区(swap). 2.交换分区的容量至少要和实际内存一样大, ...
- webBench&ad网站并发测试工具
webBench 测试工具使用,网站上线前压力测试工具. ad测试工具
- 【精】iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)
1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系. 每一个 iOS 应用程序都有一个单独的文件系统(存储空间).并且仅仅能在相应的文件系统中进行操作,此区域被称为沙盒. 全部的非 ...
- ntp服务的细节全解析
在linux里设置NTP服务并不难,但是NTP本身确是一个很复杂的协议. 你都了解细节么? 1. 时间和时区 date命令可显示时间与市区 [root@T_PV1_DB ~]# date Tue Fe ...
- jquery获取三种高度
反复用到却一直记不住... var a = $(window).height() //设备的高度 var b = $(window).scrollTop() //滚动的高度 var c = $(doc ...
- ny220 推桌子
推桌子 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 The famous ACM (Advanced Computer Maker) Company has rent ...
- 转载:Jmeter教程索引
摘自: 阳光温暖了心情 的 http://www.cnblogs.com/yangxia-test/category/431240.html 1 JMeter学习(一)工具简单介绍 2 JMeter学 ...