/*
本文系「人工智能安全」(微信公众号)原创,转载请联系本文作者(同博客作者)。
欢迎你转发分享至朋友圈,并给予「关注、星标、点赞」三连支持。互相欣赏,互相批判。
我是一名有诗人气质的网络安全工程师
期待与你的思想交流碰撞出智慧的花火
水木清华
2020-03-23
输入整型数组和排序标识,对其元素按照升序或降序进行排序
*/
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//数组法
//升序排序或降序排序的函数接口
void Ascending_Descending_Sorting(int num)
{
int number; //输入整数
int pIntegerArray[num]; //存储整数的数组
int iSortFlag; //排序标识
for (int i = 0; i < num; i++)
{
cin >> number;
pIntegerArray[i] = number;
}
cin >> iSortFlag;
//数组的元素排序(从小到大)
sort(pIntegerArray, pIntegerArray + num);
//排序标识为 0,顺序输出
if (iSortFlag == 0)
{
for (int i = 0; i < num; i++)
{
cout << pIntegerArray[i] << ' ';
}
cout << endl;
}
//排序标识为 1,逆序输出
else if (iSortFlag == 1)
{
for (int i = num - 1; i >= 0; i--)
{
cout << pIntegerArray[i] << ' ';
}
cout << endl;
}
return;
}
//主函数
int main()
{
int num;
while (cin >> num)
{
Ascending_Descending_Sorting(num);
}
return 0;
}
/*
//向量法
//升序排序或降序排序的函数接口
void Ascending_Descending_Sorting(int num)
{
int number; //输入整数
vector <int> vec; //存储整数的向量
int iSortFlag; //排序标识:0 表示按升序,1 表示按降序
for (int i = 0; i < num; i++)
{
cin >> number;
vec.push_back(number);
}
cin >> iSortFlag;
//向量的元素排序(从小到大)
sort(vec.begin(), vec.end());
//排序标识为 0,顺序输出
if (iSortFlag == 0)
{
for (int i = 0; i < num; i++)
{
cout << vec[i] << ' ';
}
cout << endl;
}
//排序标识为 1,逆序输出
else if (iSortFlag == 1)
{
for (int i = num - 1; i >= 0; i--)
{
cout << vec[i] << ' ';
}
cout << endl;
}
return;
}
//主函数
int main()
{
int num;
while (cin >> num)
{
Ascending_Descending_Sorting(num);
}
return 0;
}
*/