1.pair算是一个结构体模版,定义的时候是这样的:

  1. pair<T1,T2> P;

其中T1,T2可以是int,string,double,甚至是vector<>。

2.进行初始化是这样的:

  1. pair<int,int> a(,);

也可以借用make_pair()函数:

  1. pair<int,int> a;
  2.  
  3. a=make_pair(,);

3.进行调用是很简单的:

  1. pair<int,int> a(,);
  2.  
  3. printf("%d %d",a.first,a,second);

4.如果对pair进行排序,进行的是字典序比较。

  1. pair<int,int> a[];

可以用sort(a,a+100)进行排序。

5.下面有个小程序来展示他的用法。

(这个程序用于解决贪心法当中的区间调度问题。)

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. const int MAX_N=;
  8. int N,S[MAX_N],T[MAX_N];
  9. pair<int,int> itv[MAX_N];
  10.  
  11. void solve(){
  12. //对pair进行的是字典序比较
  13. //为了让结束时间早的工作排在前面,把T存入first,把S存入second
  14. for(int i=;i<N;i++){
  15. itv[i].first=T[i];
  16. itv[i].second=S[i];
  17. }
  18. sort(itv,itv+N);
  19. //t是最后所选工作的结束时间。
  20. int ans=,t=;
  21. for(int i=;i<N;i++){
  22. if(t<itv[i].second){
  23. ans++;
  24. t=itv[i].first;
  25. }
  26. }
  27. printf("%d\n",ans);
  28. }
  29.  
  30. /*
  31. 本程序用于解决贪心法当中的区间调度问题
  32. 测试数据
  33. 5
  34. 1 2 4 6 8
  35. 3 5 7 9 10
  36. */
  37. int main()
  38. {
  39. scanf("%d",&N);
  40. for(int i=;i<N;i++){
  41. scanf("%d",&S[i]);
  42. }
  43. for(int i=;i<N;i++){
  44. scanf("%d",&T[i]);
  45. }
  46. solve();
  47. return ;
  48. }

pair<>结构体模版的用法的更多相关文章

  1. MATLAB 单元数组 cell 和结构体 struct 的用法以及区别

    1. 前言 Matlab单元数组cell和结构体struct都可以将不同类型的相关数据集成到一个单一的变量中,使得大量的相关数据的处理变得非常简单而且方便.但是,需要注意的是,单元数组和结构体只是承载 ...

  2. C++_系列自学课程_第_12_课_结构体

    #include <iostream> #include <string> using namespace std; struct CDAccount { double bal ...

  3. 瘋子C语言笔记(结构体/共用体/枚举篇)

    (一)结构体类型 1.简介: 例: struct date { int month; int day; int year; }; struct student { int num; char name ...

  4. 认识C中的结构体

    C中结构体是另外一种表示数据形式的方式,结构体中可以表示C中的基本数据形式,如int,double....结构体可以让我们更好的表示数据.下面来看看结构体. 说到结构体首先要了解的是它的申明形式,要申 ...

  5. C语言 Struct 结构体在 Java 中的体现

    大一整个学期完成了 C 语言的学习,大二就进入了Java 的学习. 和C语言一样,我们都会尝试写一个小小的学生管理系统什么的,学习过 C 语言同学知道,在管理系统中 Struct 结构体是个很好用的东 ...

  6. 【阅读笔记】《C程序员 从校园到职场》第七章 指针和结构体

    原文地址:让你提前认识软件开发(13):指针及结构体的使用 CSDN博客 https://blog.csdn.net/zhouzhaoxiong1227/article/details/2387299 ...

  7. Go语言规格说明书 之 结构体类型(Struct types)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 ...

  8. 利用sort对结构体进行排序

    我定义了一个学生类型的结构体来演示sort排序对结构体排序的用法 具体用法看代码 #include<iostream> #include<string> #include< ...

  9. 在Main中定义student的结构体,进行年龄从大到小依次排序录入学生信息。(结构体的用法以及冒泡排序)

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

随机推荐

  1. yaf自动加载文件

    models下面的文件 例如:Article.php 类名必须是:ArticleModel 调用时:$article_models = new ArticleModel(); library下面的文件 ...

  2. mysql 导入sql文件,source命令

    转自:http://blog.sina.com.cn/s/blog_610997850100mwv8.html 今天碰到个问题要用phpmyadmin导入1G的数据,但是在怎么都导入不了,用命令行就可 ...

  3. php 冒泡排序

    public function demo($arr){ $len = count($arr); if ($len == 1) { return $arr; } else { for ($i = 1; ...

  4. ML_R Kmeans

    Kmeans作为机器学习中入门级算法,涉及到计算距离算法的选择,聚类中心个数的选择.下面就简单介绍一下在R语言中是怎么解决这两个问题的. 参考Unsupervised Learning with R ...

  5. github 上传至远程的过程

    参考网址:http://luolei.org/dotfiles-tutorial/ http://www.ruanyifeng.com/blog/2014/06/git_remote.html     ...

  6. XH

    1.  又到父亲节,那就给老爹做顿饭呗,让他开心开心. 老爸吃了一口我炒的菜,流露出感动的泪花说:儿呀,你能为爸爸做饭,爸爸感到特别开心,但是你这个菜,看在今天是父亲节 我能不能不吃呀! 2.  一哥 ...

  7. CentOS 6.5 zabbix 3.0.4 监控MySQL性能

    安装mysql [root@test3 /]# yum -y install mysql mysql-server 初始化数据库 [root@test3 /]# /etc/init.d/mysqld ...

  8. 如何在IE8设置透明背景

    background:rgba(0,0,0,0.5);filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F00000 ...

  9. time()函数,dirname(__FILE__) 的使用总结

    time()函数将返回从1970-1-1 0:0:0到当前时间的秒数.(整型) dirname(__FILE__) php中定义了一个很有用的常数,即 __file__ 这个内定常数是当前php程序的 ...

  10. Android 手势水平监听判断

    package com.zihao.ui; import com.zihao.R; import android.os.Bundle; import android.app.Activity; imp ...