vector读入
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> a;
// 读入10个数到向量a中
for (int i = 0; i < 10; ++i) {
int num;
cin >> num;
a.push_back(num); // 将读入的数添加到向量a的末尾
}
// 输出向量a中的内容
for (int i = 0; i < a.size(); ++i) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
vector和结构体
#include <iostream>
#include <cstring>
#include <algorithm>
#include<vector>
using namespace std;
struct edge
{
int u,v,w;//边的起点和终点和边权
bool operator<(const edge &t)const
{
return w<t.w;
}
};
vector<edge>es;
int main()
{
int m,a,b,c;
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>a>>b>>c;
es.push_back({a,b,c});
}
sort(es.begin(),es.end());
for(int i=0;i<es.size();i++)
cout<<es[i].u<<' '<<es[i].v<<' '<<es[i].w<<endl;
}
输入:4
1 2 8
1 3 1
1 4 6
3 4 5
输出:
1 3 1
3 4 5
1 4 6
1 2 8
vector和pair
#include<bits/stdc++.h>
#define PII pair<int,int>
using namespace std;
int main()
{
vector<PII> q;
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
int a, b; // 声明变量 a 和 b
cin >> a >> b;
q.push_back({a, b});
cout << q[i].first << " " << q[i].second << endl; // 输出 pair 对象的 first 和 second 成员
}
}
queue读入
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
// 读入10个数到队列q中
for (int i = 0; i < 10; ++i) {
int num;
cin >> num;
q.push(num); // 将读入的数添加到队列q的末尾
}
// 输出队列q中的内容
while (!q.empty()) {
cout << q.front() << " "; // 输出队列头部元素
q.pop(); // 弹出队列头部元素
}
cout << endl;
return 0;
}
set的读入
set就是集合的意思,集合的特点就是不会出现重复的内容。一般用来作查重或去重操作
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> s;
int n;
// 读入元素个数
cin >> n;
// 读入n个数到集合s中
for (int i = 0; i < n; ++i) {
int num;
cin >> num;
s.insert(num); // 将读入的数添加到集合s中
}
// 输出集合s中的内容
for (auto it = s.begin(); it != s.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
map读入
map<string,int>m;//定义m
1:使用insert添加元素
m.insert(pair<string,int>("sd",19));
2:直接使用数组下标
m["sd"]=19;
1.
#include<bits/stdc++.h>
using namespace std;
map<string,int>m;
int n;
int main()
{
cout<<"请输入要添加的元素个数:";
cin>>n;
for(int i=0;i<n;i++){
string s;
int id;
cout<<"键:";
cin>>s;
cout<<"值:";
cin>>id;
m.insert(pair<string,int>(s,id));//insert添加元素
}
//第一种遍历输出
map<string,int>::iterator it;
for(it=m.begin();it!=m.end();it++){
cout<<"键="<<it->first<<" 值="<<it->second<<endl;
}
return 0;
}
2.
#include<bits/stdc++.h>
using namespace std;
map<string,int>m;
int n;
int main()
{
cout<<"请输入要添加的元素个数:";
cin>>n;
for(int i=0;i<n;i++){
string s;
int id;
cout<<"键:";
cin>>s;
cout<<"值:";
cin>>id;
m[s]=id;
}
//第一种遍历输出
map<string,int>::iterator it;
for(it=m.begin();it!=m.end();it++){
cout<<"键="<<it->first<<" 值="<<it->second<<endl;
}
return 0;
}