不得不说auto关键字真的很好用
#include<iostream>
#include<vector>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
class SelsctK
{
private:
vector<int> arr;
int flag = 0;
public:
SelsctK(vector<int>& a) :arr(a){}
vector<int>& MySort()//排序
{
flag = 1;
for (auto i = arr.begin(); i != arr.end(); i++)
{
for (auto j = i; j != arr.end(); j++)
{
if (*i>*j)
{
int temp = *j;
*j = *i;
*i = temp;
}
}
}
return arr;
}
void DisPlay()
{
if (flag==1)
{
cout << "数组以排序" << endl;
for (auto i = arr.begin(); i < arr.end(); i++)
{
cout << *i;
}
cout << endl;
}
else
{
cout << "数组未排序" << endl;
for (auto i = arr.begin(); i < arr.end(); i++)
{
cout << *i;
}
cout << endl;
}
}
int SelecctK(int i)
{
return arr[i];
}
int geLength()
{
return arr.size();
}
};
int main()
{
cout << "输入一组数字,Ctrl+z结束" << endl;
vector<int> d;
int n;
while (cin>>n)
{
d.push_back(n);
}
SelsctK a(d);
a.DisPlay();
a.MySort();
a.DisPlay();
int k=0;
/*cout << "输入k" << endl;
cin >> k;*/
if (k>=0&&k<(a.geLength()-1))
{
cout << "输入的是" << k << endl;
cout << a.SelecctK(k);
}
else
{
cout << "输入的是" << k << endl;
cout << "输入的不正确" << endl;
}
system("pause");
return 0;
}