//确定n个数中第k个最大值
#include<iostream>
#include<vector>
#include<list>
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
const double N =100000;
const int K =5;
using namespace std;
int main()
{
double start_time =clock();
vector<int> maxtotal;
srand(time(0));
for(int a=0;a<N;a++)
{int b=rand()%(int)N;
cout<<b<<" "<<flush;
maxtotal.push_back(b);}
for(vector<int>::iterator a=maxtotal.begin();a<maxtotal.begin()+N-2;a++)
for(vector<int>::iterator b=a+1;b<maxtotal.begin()+N-1;b++)
{int linshi;
if(*a>*b)
{linshi=*a;
*a=*b;
*b=linshi;}}
cout<<"确定"<<N<<"个数中第"<<K<<"个最大值shi"<<maxtotal[K-1]<<endl;
double end_time=clock();
cout<<"时间间隔是"<<((end_time-start_time)/CLOCKS_PER_SEC)<<endl;
int str1;
cin.clear();
cin.sync();
cin>>str1;
return 0;
}