C++ pair用法
pair 預設對first升序,當first相同時對second升序;
類模板:template <class T1, class T2> struct pair
引數:T1是第一個值的資料型別,T2是第二個值的資料型別。
功能:pair將一對值組合成一個值,這一對值可以具有不同的資料型別(T1和T2),兩個值可以分別用pair的兩個公有函式first和second訪問。
具體用法:
1.定義(構造):
1 pair<int, double> p1; //使用預設建構函式
2 pair<int, double> p2(1, 2.4); //用給定值初始化
3 pair<int, double> p3(p2); //拷貝建構函式
2.訪問兩個元素(通過first和second):
1 pair<int, double> p1; //使用預設建構函式
2 p1.first = 1;
3 p1.second = 2.5;
4 cout << p1.first << ' ' << p1.second << endl;
輸出結果:1 2.5
3.賦值operator = :
(1)利用make_pair:
1 pair<int, double> p1;
2 p1 = make_pair(1, 1.2);
(2)變數間賦值:
pair<int, double> p1(1, 1.2);
pair<int, double> p2 = p1;
可以用cmp陣列改;
程式碼:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #define mem(x,y) memset(x,y,sizeof(x)) 7using namespace std; 8 typedef long long LL; 9 const int INF=0x3f3f3f3f; 10 pair<int,int>pa[100]; 11 int cmp(pair<int,int>a,pair<int,int>b){ 12 if(a.first!=b.first)return a.first>b.first; 13 else return a.second<b.second; 14 } 15 int main(){ 16 int a,b; 17 for(int i=0;i<5;i++)scanf("%d%d",&a,&b),pa[i]=make_pair(a,b); 18 sort(pa,pa+5,cmp); 19 for(int i=0;i<5;i++)printf("%d %d\n",pa[i].first,pa[i].second); 20 return 0; 21 }
相關推薦
【用法學習】C++ pair用法及使用sort函式對pair資料進行排序
pair 預設對first升序,當first相同時對second升序; 類模板:template <class T1, class T2> struct pair 引數:T1是第一個值的資料型別,T2是第二個值的資料型別。 功能:pair將一對值組
C++ pair用法
pair 預設對first升序,當first相同時對second升序; 類模板:template <class T1, class T2> struct pair 引數:T1是第一個值的資料型別,T2是第二個值的資料型別。 功能:pair將一對值組合成一個值,這一對值可以具有不同的資料型別
c++ pair 用法詳解
標準庫型別--pair型別定義在utility標頭檔案中定義 1、pair的建立和初始化 pair包含兩個數值,與容器一樣,pair也是一種模板型別。但是又與之前介紹的容器不同,在建立pair物件時,必須提供兩個型別名,兩個對應的型別名的型別不必相同 pair<string,string>a
C++ pair對組的用法
C++中的pair對組的本質是一個struct型別的模板,所以它具有struct的特徵,就是可以把不同的資料據型別合成一個結構體型別,不同的是pair只能合成兩種資料型別。 下面是對組的用法,用程式註
C++ pair的用法例項詳解(結構體模板應用初探)
1 pair的應用(結構體模板)pair是將2個數據組合成一個數據,當需要這樣的需求時就可以使用pair,如stl中的map就是將key和value放在一起來儲存。另一個應用是,當一個函式需要返回2個數據的時候,可以選擇pair。標頭檔案:#include<utilit
C++ pair的用法
pair的應用: 1. pair是將2個數據組合成一個數據,當需要這樣的需求時就可以使用pair,如stl中的map就是將key和value放在一起來儲存。 2. 另一個應用是,
C++ pair(對組)用法
類模板:template <class T1, class T2> struct pair 引數:T1是第一個值的資料型別,T2是第二個值的資料型別。 功能:pair將一對值組合成一個值,這一對值可以具有不同的資料型別(T1和T2),兩個值可以分別用pair的兩
C++中pair用法
類模板:template <class T1, class T2> struct pair 引數:T1是第一個值的資料型別,T2是第二個值的資料型別。 功能:pair將一對值組合成一個值,這一對值可以具有不同的資料型別(T1和T2),兩個值可以分別用pai
C++ pair的用法
1 pair的應用 pair是將2個數據組合成一個數據,當需要這樣的需求時就可以使用pair,如stl中的map就是將key和value放在一起來儲存。另一個應用是,當一個函式需要返回2個數據的時候,可以選擇pair。 pair的實現是一個結構體,主要的兩個成員變數是f
C# ListView用法詳解
ont 結束 server 發生 匹配 鼠標 之前 小圖標 order 一、ListView類 1、常用的基本屬性: (1)FullRowSelect:設置是否行選擇模式。(默認為false) 提示:只有在Details視圖該屬性才有意義
[C#] SerialPort用法
debug 嵌入 microsoft mic 參數設置 usb 輸出 代碼 搜索 如今各種高速接口層出不窮,如USB2.0、USB3.0、USB3.1以及Thunderbold等等,但是簡單低速串行接口依然在嵌入式軟硬件開發中作為debug信息輸出所采用。本文將介紹如何在P
C# task用法
我們 font actor oca 調度 研究 等待 static ken C# Task 的用法 其實Task跟線程池ThreadPool的功能類似,不過寫起來更為簡單,直觀。代碼更簡潔了,使用Task來進行操作。可以跟線程一樣可以輕松的對執行的方法進行控制。 順便提
C# ListView用法詳解(轉)
分組 創建 cti 排列 checkbox 定義 com 程序 erl 一、ListView類 1、常用的基本屬性: (1)FullRowSelect:設置是否行選擇模式。(默認為false) 提示:只有在Details視圖該屬性才有
C# ExecuteNonQuery用法
clas man pub class int32 bject code tex oid using System; using System.Data; using System.Text; using System.Windows.Forms; using System
C# list用法
強制 name itl 對象 檢查 als range cat foreach C# list介紹 一、LIST概述 所屬命名空間:System.Collections.Generic public class List<T> : IList&
c/c++ explicit用法
自動 col 不能 程序 自己 c++ cnblogs xpl clas 試想一個類,它的構造函數只有一個參數, 1 class test 2 { 3 test( int a ) {}5 } 這時我想用一個int b = 10初始化它,這當然沒問題,但如果你用一
C++ const用法小結 (歡迎大家拍磚)
固定 ant oid 幹什麽 pause 參數傳遞 clas 自定義類型 期望 C++const 關鍵字小結 const 是constant的縮寫,本意是不變的,不易改變的意思。 const 在C++中是用來修飾內置類型變量,自定義對象,成員函數,返回值,函數
C++ const用法 盡可能使用const
con {} code 值傳遞 語義 point main tint ostream C++ const 允許指定一個語義約束,編譯器會強制實施這個約束,允許程序員告訴編譯器某值是保持不變的。如果在編程中確實有某個值保持不變,就應該明確使用const,這樣可以獲得編譯器的
C# CHECKEDLISTBOX用法總結
klist select con oid eve 個數 box row ESS 一般認為:foreach (object obj in checkedListBox1.SelectedItems)即可遍歷選中的值。 其實這裏遍歷的只是高亮的值並不是打勾的值。遍歷打勾的
C# Parallel用法
asp fun rgs ons test ntb {0} 元素 應用 1、Parallel.Invoke 主要用於任務的並行 這個函數的功能和Task有些相似,就是並發執行一系列任務,然後等待所有完成。和Task比起來,省略了Task.WaitAll這一步,自然也缺少了T