题解 | #输入整型数组和排序标识,对其元素按照升序或降序进行排序#
输入整型数组和排序标识,对其元素按照升序或降序进行排序
http://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309
#include <bits/stdc++.h>
using namespace std;
//外部结构体
struct nums{
int num;
};
//升序函数
bool compare1(nums a,nums b)
{
return a.num<b.num;
}
//降序函数
bool compare0(nums a,nums b)
{
return a.num>b.num;
}
//主函数编写
int main()
{
//初始化数据
int n,flag;
while(cin>>n)
{
//创建数据容器
vector<nums>ans;
//遍历循环
for(int i=0;i<n;i++)
{
nums temp;
cin>>temp.num;
ans.push_back(temp);
}
//初始化数据
cin>>flag;
//判断升序降序
if(flag)
{
stable_sort(ans.begin(), ans.end(),compare0);
}
else
{
stable_sort(ans.begin(), ans.end(),compare1);
}
//遍历循环
for(int i=0;i<n;i++)
{
cout<<ans[i].num<<' ';
}
cout<<endl;
}
return 0;
}
using namespace std;
//外部结构体
struct nums{
int num;
};
//升序函数
bool compare1(nums a,nums b)
{
return a.num<b.num;
}
//降序函数
bool compare0(nums a,nums b)
{
return a.num>b.num;
}
//主函数编写
int main()
{
//初始化数据
int n,flag;
while(cin>>n)
{
//创建数据容器
vector<nums>ans;
//遍历循环
for(int i=0;i<n;i++)
{
nums temp;
cin>>temp.num;
ans.push_back(temp);
}
//初始化数据
cin>>flag;
//判断升序降序
if(flag)
{
stable_sort(ans.begin(), ans.end(),compare0);
}
else
{
stable_sort(ans.begin(), ans.end(),compare1);
}
//遍历循环
for(int i=0;i<n;i++)
{
cout<<ans[i].num<<' ';
}
cout<<endl;
}
return 0;
}