c语言结构体和c++pair,vector中的一些比较

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的操作见我第一篇博客

猜你喜欢

转载自blog.csdn.net/qq_40570748/article/details/81154602