java里升序和降序最简短的代码
发布网友
发布时间:2022-04-26 18:04
我来回答
共5个回答
热心网友
时间:2023-09-22 06:18
直接调用jdk里面的方法Arrays.sort(args)方法。。。。
而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~
热心网友
时间:2023-09-22 06:18
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]));
}
}
}
}
热心网友
时间:2023-09-22 06:19
直接调用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);
热心网友
时间:2023-09-22 06:19
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);}
热心网友
时间:2023-09-22 06:20
冒泡排序.原理题主搜索下“冒泡排序”关键字
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}