题解 | #输入整型数组和排序标识#
输入整型数组和排序标识,对其元素按照升序或降序进行排序
https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309
#include <iostream>
#include<string>
#include<vector>
using namespace std;
/*输入整型数组和排序标识,对其元素按照升序或降序进行排序
数据范围: 1≤n≤1000 ,元素大小满足 0≤val≤100000
输入:第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
*/
void maobao_up(vector<int>& vec) //升序
{
//冒泡
int temp;
for (int i = 0; i < vec.size(); i++)
{
for (int j = 1; j < vec.size(); j++)
{
if (vec[j - 1]>vec[j])
{
temp = vec[j];
vec[j] = vec[j - 1];
vec[j - 1] = temp;
}
}
}
}
void maobao_down(vector<int>& vec) //降序
{
//冒泡
int temp;
for (int i = 0; i < vec.size(); i++)
{
for (int j = 1; j < vec.size(); j++)
{
if (vec[j - 1]<vec[j])
{
temp = vec[j];
vec[j] = vec[j - 1];
vec[j - 1] = temp;
}
}
}
}
int main()
{
int x; //多少数据
int ibool; //升序还是降序
int j;
vector<int> vec;
cin >> x;
for (int i = 0; i < x; i++)
{
cin >> j;
vec.push_back(j);
}
cin >> ibool;
if (ibool == 0) //0表示升序
{
//冒泡
maobao_up(vec);
}
else
{
maobao_down(vec);
}
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << " ";
}
system("pause");
return 0;
}

