排序年龄的算法
//复杂度为On的排序算法
#include<iostream>
#include <vector>
using namespace std;
const int oldestage=99;
void OnSort(vector<int> &v1)
{
if(v1.size()==0)return;
vector<int> v2(oldestage+1,0);
for (auto i =0;i<v1.size();i++)
{
int m =v1[i];
if (m<0||m>oldestage)
throw new std::exception("age out of range!!");
v2[m]++;
}
int temp=0;
for (auto i =0;i<oldestage+1;i++)
{
for (auto j =0;j<v2[i];j++)
{
cout<<i<<" ";
temp++;
}
}
cout<<temp<<" ";
}
void main()
{
vector<int> v;
v.reserve(1000);
for (auto i =0;i<1000;i++)
v.push_back((rand()%90+10));
OnSort(v);
system("pause");
}