【华为OJ平台练习题】

时间:2023-02-12 21:00:33
/*
描述:
输入整型数组和排序标识,对其元素按照升序或降序进行排序

接口说明
原型:
void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag);
输入参数:
Integer[] pIntegerArray:整型数组
int iSortFlag:排序标识:0表示按升序,1表示按降序
输出参数:

返回值:
void
输入
1、输入需要输入的整型数个数
2、输入数组组
3、输入排序标识

输出
输出排好序的数字
最后一个无空格
如下例子

样例输入 8 1 2 4 9 3 55 64 25 0
样例输出 1 2 3 4 9 25 55 64
*/

#include <iostream>

using namespace std;

void myswap(int &a,int &b)
{
int temp;
temp = b;
b=a;
a=temp;
}
void sortIntegerArray(int p[],int n,int flag)
{
for(int a = 1;a<n;a++) //冒泡排序法
{
for(int b=1;b<n-a+1;b++)
{
if(p[b-1]<p[b])
myswap(p[b-1],p[b]);
}
}
if(flag==1)
{
for(int a=0;a<n;a++)
cout<<p[a]<<" ";
}
else if(flag==0)
{
for(int a=0;a<n;a++)
cout<<p[n-a-1]<<" ";
}
}

int qqmain()
{
while(1)
{
int n,k;
cout<<"请输入数组元素个数:" <<endl;
cin>>n;

cout<<"请输入数组元素:" <<endl;
int *p = new int[n];
for(int m=0;m<n;m++)
cin>>p[m];

cout<<"请选择升序或者降序,升序按0,降序按1"<<endl;
cin>>k;


cout<<"原序列:";
for(int m=0;m<n;m++)
cout<<p[m]<<" ";

cout<<endl<<"排序后:"<<endl;
sortIntegerArray(p,n,k);
}
return 0;
}
【华为OJ平台练习题】