C语言的结构体一般的定义如下
#define N 1000;
struct T{
int a;
int b;
}t[N];
使用的时候用 ’.‘ 表示
t[i].a,t[i].b
而c++中如果定义一个整体包含两个数据(可以是不同的数据)则可以使用pair
pair中的数据可以是不同类型的数据 比如<字符串,字符串><数字,数字><字符串,数字>
#include<bits/stdc++.h>//万能头文件
const int N = 10005;
typedef pair<int int> pii;
pii p[N];
int a,b,m,n;
cin>>n>>m;
for(int i=0;i<m;i++){
p[i]=pii(a,b);//将pair中的两个数据赋给p[i];
}
如何使用?
P[i],first 表示p[i]中的a//也就是pair中的第一个数据
p[i].second 表示p[i]中的b//也就是pair中的第二个数据
那如何将c++中的vector中也表示两个数据
应该有很多种写法
我现在先写一种
vector<pair<int,int>>t;
for(int i=0;i<m;i++){
cin>>a>>b;
t.push_back(make_pair(a,b));
}
t[i].first//表示第一个数据
t[i].second//表示第二个数据
详细vector的操作见我第一篇博客