2020 绝对值排序

很久没写杭电的了,这个主要是练习自己的思维哦,真的很重要。今天是绝对值排序。
这个题目我一开始的想法是输入,然后冒泡排序的时候就比较大小,如果这个数小于0,那么久可以乘以-1,之后if判断大小后再除以-1。这个其实有错误的,因为换完值,如果是一个负数一个正数,那么之后正数变为负数了,负数却没有变回来。
  后来,突然想到负负得正,醉啦,数学学得真是渣渣。不说了,贴代码,很简单的哦。 2020 <wbr>绝对值排序
import java.util.Scanner;
class Main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
if(n==0){
return;
}else{
int a[]=new int[n];
for(int i=0;i
a[i]=sc.nextInt();
}
for(int i=0;i
for(int j=i+1;j
boolean f=false;
boolean s=false;
//if(a[i]<0){ a[i]*=-1;f=true;}
//if(a[j]<0) {a[j]*=-1;s=true;}
int temp;
if(a[i]*a[i]
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
//if(f){a[i]/=-1;f=false;}
//if(s){a[j]/=-1;s=false;}
}
}
for(int i=0;i
System.out.print(a[i]+" ");
}
System.out.println(a[n-1]);
}
}
}
}   这里面 注释的就是我之前的那种想法,不好的,负负得正多简单,果然要多想哦。睡觉啦! 2020 <wbr>绝对值排序


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值