优化代码 #include<bits/stdc++.h> using namespace std; int main(){ int n,m,k; vector<int>v; cin>>n; while(n--){ cin>>m>>k; if(m==1){ v.push_back(k); } if(m==2){ vector<int>::iterator it = find(v.begin(),v.end(),k); if(it!=v.end()) cout<<"True"<<endl; else cout<<"False"<<endl; } } }
时间: 2023-06-18 08:02:05 浏览: 132
素数&合数&约数和.docx
以下是优化后的代码:
```
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, m, k;
vector<int> v;
cin >> n;
while (n--) {
cin >> m >> k;
if (m == 1) {
v.emplace_back(k);
} else if (m == 2) {
auto it = find(v.begin(), v.end(), k);
cout << (it != v.end() ? "True" : "False") << endl;
}
}
return 0;
}
```
主要的优化有:
1. 使用 `emplace_back` 替代 `push_back`,可以避免不必要的拷贝构造函数调用,提高效率;
2. 使用 `auto` 关键字自动推导变量类型,简化代码,提高可读性;
3. 对于 if-else 的判断语句,建议使用 else if,避免不必要的判断,提高效率;
4. 使用三目运算符代替 if-else 语句,简化代码,提高可读性。
阅读全文