【华为OJ平台练习题】

/*
描述:	
	输入整型数组和排序标识,对其元素按照升序或降序进行排序

接口说明
原型:
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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值