#include <iostream>
#include <vector>
using namespace std;
template <class T>
int minIndex(vector<T> t,int n)
{
T min=t[0];
int index=0;
for (int i=0;i<n;i++)
{
if (t[i]<min)
{
min=t[i];
index=i;
}
}
return index;
}
template <class T>
vector<T> nMax(vector<T> t,int n)
{
if (n>t.size())
{
return NULL;
}
int minindex=minIndex(t,n);
cout<<"minindex "<<minindex<<endl;
for (int i=n;i<t.size();i++)
{
cout<<"t[i]: "<<t[i]<<" t[minindex]: "<<t[minindex]<<endl;
if (t[i]>t[minindex])
{
T temp;
temp=t[i];
t[i]=t[minindex];
t[minindex]=temp;
minindex=minIndex(t,n);
cout<<"swap: "<<t[i]<<" "<<t[i]<<" "<<t[minindex]<<endl;
}
}
vector<T> result;
for (int j=0;j<n;j++)
{
result.push_back(t[j]);
}
return result;
}
void main( )
{
double a[]={2.3,1.8,4.5,3.3,1.9};
double *result=nMax(a,2,5);
vector<double> v;
for (int i=0;i<5;i++)
{
v.push_back(a[i]);
}
vector<double> r=nMax(v,3);
for (int j=0;j<r.size();j++)
{
cout<<"result : "<<r[j]<<endl;
}
}