java里升序和降序最简短的代码

一串数字在数组里升序降序排序,最简短的。有注释

直接调用jdk里面的方法Arrays.sort(args)方法。。。。

而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-27
import java.util.Arrays;
import java.util.Scanner;
public class test{
public static void main(String[] args) {
int temp,num[]=new int[10];
Scanner input = new Scanner(System.in);
//输入数组
for (int i = 0; i < num.length; i++) {
System.out.print(String.format("请输入第%d个数:", (i+1)));
num[i]=input.nextInt();
}
//数组升序排序
Arrays.sort(num);
//升序排序可以使用冒泡排序做,具体代码如下:
/**for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num.length-i-1; j++) {
if (num[j] > num[j+1]) {
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}*/
//输出升序排序结果
System.out.print("这10个数升序排序是:");
for (int i = 0; i < num.length; i++) {
if (i == num.length - 1) {
System.out.print(num[i]);
}else{
System.out.print(String.format("%d,", num[i]));
}
}
System.out.println("");
//数组降序排序(只能使用排序算法,这里我使用冒泡排序)
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num.length-i-1; j++) {
if (num[j] < num[j+1]) {
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
//输出降序排序结果
System.out.print("这10个数降序排序是:");
for (int i = 0; i < num.length; i++) {
if (i == num.length - 1) {
System.out.print(num[i]);
}else{
System.out.print(String.format("%d,", num[i]));
}
}
}
}
第2个回答  2018-03-30

直接调用jdk里面的方法Arrays.sort(args)方法。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~

for (int i = 0; i < list.size(); i++) {

for (int j = i + 1; j < list.size(); j++) {

if (list.get(i) > list.get(j)) {

int temp = list.get(i);

list.set(i, list.get(j));

list.set(j, temp);

}

}

}

System.out.println("升序:" + list);

for (int i = 0; i < list.size(); i++) {

for (int j = i + 1; j < list.size(); j++) {

if (list.get(i) < list.get(j)) {

int temp = list.get(i);

list.set(i, list.get(j));

list.set(j, temp);

}

}

}

System.out.println("降序:" + list);

本回答被网友采纳
第3个回答  2017-06-28
int[] a = {1,6,8,2,99,12,6,-8};一遍一遍地比较两个相邻元素之间的大小,不符合就互换,
直到每一个元素都比前一个大,也就升序了,但是这种方法效率可能不高

while(true){ boolean shouldcontinue=false;

for(int i=0;i<a.length-1;i=i+1){

if(a[i]>a[i+1]){ shouldcontinue=true;

int temp=a[i];a[i]=a[i+1];a[i+1]=temp;
;

}

}
if(!shouldcontinue){break ;}

}

for(int i:a){System.out.println(i);}
第4个回答  2017-06-28
冒泡排序.原理题主搜索下“冒泡排序”关键字
for(int i=0;i<array.length-1;i++)
for(int j=0;j<array.length-1-i;j++)
if(array[j]>array[j+1])//降序排列,升序array[j]<array[j+1]
{
int temp = array[j];
array[j] =array[j+1];
array[j+1] = temp;
}
选择排序最简洁法,直接用i,j.原理题主搜索下这个关键字“选择排序”
for(int i=0;i<array.length-1;i++)
for(int j=i+1;j<array.length;j++)
if(array[i]>array[j])//降序排列,升序array[j]<array[j+1]
{
int temp = array[i];
array[i] =array[j];
array[j] = temp;
}
测试数组list[10]={1,6,8,0,-99,50,34,23,44,2}
相似回答