c_cpp uva10107
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp uva10107相关的知识,希望对你有一定的参考价值。
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
template <typename T>
class dataset
{
public:
void insert(const T &value)
{
auto it = lower_bound(m_data.begin(), m_data.end(), value);
m_data.insert(it, value);
}
T get_median() const
{
auto size = m_data.size();
auto mid = size / 2;
if (size % 2 == 1)
{
return m_data[mid];
}
else
{
return (m_data[mid - 1] + m_data[mid]) / 2;
}
}
private:
vector<T> m_data;
};
void testcase()
{
dataset<int> data;
int x;
while (cin >> x)
{
data.insert(x);
cout << data.get_median() << endl;
}
}
int main()
{
testcase();
return 0;
}
以上是关于c_cpp uva10107的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp uva10093
c_cpp uva12307
c_cpp uva681
c_cpp uva10101
c_cpp uva591
c_cpp uva12015