项目上需要使用C++,抽空正好把C++熟悉一下。
期待接下来的这个项目能给我的C++编程能力带来提升。
先来个set版本的。
#include <iostream>
#include <string>
#include <ios>
#include <deque>
#include <vector>
#include <list>
#include <set>
#include <algorithm>
using namespace std;
int main( ) {
int a, n, k, size;
multiset<int> mySet;
multiset<int>::iterator iter;
cin >> n >> k;
size = 0;
do {
cin >>a;
if(size++ < k) {
mySet.insert(a);
} else {
iter = mySet.begin();
if(a > *iter) {
mySet.erase(iter);
mySet.insert(a);
}
}
}while(--n );
iter = mySet.begin();
cout << *iter <<endl;
system("pause");
return 0;
}
再来个map版本的。
#include <iostream>
#include <string>
#include <ios>
#include <deque>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <algorithm>
using namespace std;
int main( ) {
int a, n, k, size;
map <int, bool> myMap;
map <int, bool>::iterator iter;
cin >> n >> k;
size = 0;
do {
cin >>a;
if(size++ < k) {
myMap[a] = true;
} else {
iter = myMap.begin();
if(a > (iter->first)) {
myMap.erase(iter);
myMap[a] = true;
}
}
}while(--n );
iter = myMap.begin();
cout << iter->first <<endl;
system("pause");
return 0;
}