差值排序

对整形数组按照和指定整数的差值大小进行排序,按照差值升序排列返回。

要求实现方法:

public staticint[] calcTimes(int[] num, int value);

【输入】 num:整型数组;

              value 指定的整数

【返回】 按照升序返回整型数组,排序按照各个整数和指定整数的差值大小

【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出

示例

输入:num = {1,2,3,4,5,10,17,18,19}  value = 5

返回:{5,4,3,2,1,10,17,18,19}


#include<iostream>
#include<math.h>
using namespace std;

int len;
void sort(int num[],int value){
	int i,b[100],j,t;
	for(i=0;i<len;i++) //算出数组每个数与给定数的差值
		b[i]=abs(num[i]-value);

	for(i=0;i<len-1;i++) //对差值排序
		for(j=0;j<len-1-i;j++)
			if(b[j]>b[j+1]){
				t=b[j];
				b[j]=b[j+1];
				b[j+1]=t;
			}

	for(i=0;i<len;i++)
		for(j=0;j<len;j++)
			if(abs(num[j]-value)==b[i]) //如果差值与b[i]相等,则输出
				cout<<num[j]<<" ";
}
void main(){
	int a[100],n,i=0,value;
	cin>>n;
	while(getchar()!='\n'){
		a[i++]=n;
		cin>>n;
	}
	a[i++]=n;
	len=i;
	cin>>value;
	sort(a,value);
	cout<<endl;
}

	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值