向量调用sort函数排序,一般有三个参数,即为sort(v.begin(),v.end(),cmp),第三个传入的是比较函数的地址(函数名),决定你比较的性质,运用灵活

#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
class Myclass{
public:
Myclass(int i, string s){ num = i, name = s; }
bool operator<(Myclass&a){
return num < a.num; //小于运算符重载,按学号排序
}
friend bool Name_Cmp(Myclass &a,Myclass&b){      //按姓名排序
return a.name < b.name;
}
void Display(){
cout << "(" << num << "," << name << ")" << endl;
}
private:
int num;
string name;
};
int main(){
vector<Myclass> student;
int i,a, n;
cin >> n;
string s;
for (i = 0; i < n; i++){
cin >> a >> s;
Myclass M(a, s);
student.push_back(M);
}
cout << "Sort by num:" << endl;
sort(student.begin(), student.end());//第三个参数默认为<,前面已经重载
for (i = 0; i < n; i++)
student[i].Display();
cout << "after Sort by name:" << endl;
sort(student.begin(), student.end(), Name_Cmp);
for (i = 0; i < n; i++)
student[i].Display();
return 0;
}

sort函数简单调用方法的更多相关文章

  1. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  2. 模式识别 - libsvm该函数的调用方法 详细说明

    libsvm该函数的调用方法 详细说明 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26261173 须要载入(load)SVM ...

  3. js中使用function定义类、实例化,函数的调用方法

    function Test002(name, age){ name, age, this.printInfo = function(){ //定义的公有方法 console.log(name, age ...

  4. phpcms 的实用相关接口,函数,调用方法

    常用函数 , 打开include/global.func.php,下面存放一些公共函数view plaincopy to clipboardprint? strip_tags() 调用内容过滤html ...

  5. Phpcms v9系统类库与函数库调用方法

    在分享了n多phpcms的教程后,cmsyou继续分享关于phpcms v9系统类库与函数库的调用方法. 系统类库位于系统的 /libs/functions目录下面,函数库文件名为*.func.php ...

  6. SORT函数的使用方法(转载)

    sort函数的用法(转载出处:http://blog.sina.com.cn/s/blog_6439f26f01012xw3.html) 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写 ...

  7. js函数简单调用

    <script> //最简单的调用 //这是JavaScript DOM编程艺术(第2版)关于函数的原码 function convertToCelsius(temp) { var res ...

  8. Oracle的REGEXP_INSTR函数简单使用方法

    REGEXP_INSTR函数让你搜索一个正則表達式模式字符串. 函数使用输入字符集定义的字符进行字符串的计算. 它返回一个整数,指示開始或结束匹配的子位置.这取决于return_option參数的值. ...

  9. KingbaseES OUT 类型参数过程与函数的调用方法

    对于含有 out 类型参数的过程或者函数,只能通过块方式调用,这是因为,ksql 还不支持类似 Oracle 那样通过 var 定义变量. 一.带OUT的procedure 调用 创建过程: crea ...

随机推荐

  1. 九度OJ 题目1534:数组中第K小的数字(二分解)

    题目链接:点击打开链接 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6 ...

  2. 每天学点Linux:七

    Shell编程 shell变量类型: 只有字符串型,变量可以被赋值,被修改,被引用. shell变量命名方法:第一个字符为字母,其余字符可以是字母,数字或下划线. 变量引用:在变量名前加$号,代表变量 ...

  3. 字符串匹配——Brute-Force 简单匹配算法

    下面几篇文章记录字符串匹配算法. Brute-Force算法简称BF算法,中文名叫简单匹配算法.正如其名,简单粗暴,按部就班地遍历所有字符,算法简单,效率低下,不被看好. 但也正因为不常用,反而容易生 ...

  4. iphone5升级到iOS7时出现“This device isn't eligible for the requested build”错误

    因为工作的需要我需要把自己的手机升级到iOS7,安装苹果的升级顺序总是报This device isn't eligible for the requested build错误,搜索相关的文章我的错误 ...

  5. CentOS配置ftp服务器

    1.首先更新yum 源 yum update 2. 安装vsftpd yum install vsftpd -y   // 安装    移除是 yum remove vsftpd 3. 配置Vsftp ...

  6. 转载:JS触发服务器控件的单击事件

    原文地址:http://blog.csdn.net/joyhen/article/details/8485321 <script src="../Js/jquery-1.4.2.min ...

  7. csapp lab2 bomb 二进制炸弹《深入理解计算机系统》

    bomb炸弹实验 首先对bomb这个文件进行反汇编,得到一个1000+的汇编程序,看的头大. phase_1: 0000000000400ef0 <phase_1>: 400ef0: 48 ...

  8. 将单链表的每K个节点之间逆序

    [说明]: 本文是左程云老师所著的<程序员面试代码指南>第二章中“将单链表的每K个节点之间逆序”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路,不包含解析说明, ...

  9. SGU 187.Twist and whirl - want to cheat( splay )

    维护一个支持翻转次数M的长度N的序列..最后输出序列.1<=N<=130000, 1<=M<=2000 splay裸题... ------------------------- ...

  10. VirtualBox扩展磁盘空间

    进入VB的安装目录, 输入命令 VBoxManage list hdds获得当前所有虚拟机的uuid 选择需要扩展的磁盘, 输入 VBoxManage modifyhd uuid –resize 81 ...