java之对数组排序

时间:2023-03-09 16:08:05
java之对数组排序

一、在运行时输入数组

import java.util.*; //也可以写成  import java.util.Scanner;

public class px {
public static void main(String[] args) {
int[] a = new int[3];             //输入几个数int[]中就写几个,此例子中时输入三个数
Scanner scanner = new Scanner(System.in);
for(int i = 0; i < a.length; i++){
System.out.print("请输入第 " + (i+1) + "个数: "); 
a[i] = scanner.nextInt();
}
Arrays.sort(a);
System.out.println("从小到大排列后为: ");
for(int i = 0; i < a.length; i++){
System.out.println(a[i] + "\t");
}
}
}

二、在代码中输入数组

//利用了冒泡排序,此程序可以知道相同的数在排序时的排序过程

import java.util.*;
public class SX{
public static void main(String [] args) {
int array[] = {10,20,50,60,55,40,20};
int i,j;            //定义变量i,j可以直接放到for语句中 for ( int i = 0; i < array.length -1; i++)
System.out.print("原数组为10,20,50,60,55,40,20");
for ( i = 0; i < array.length -1; i++){
for( j = 0 ;j < array.length - i - 1; j++){
if(array[j] > array[j + 1]){
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
System.out.println("第" + (i + 1) + "次排序结果:"); //i是从0开始的 所以要加1
for(int a = 0; a < array.length; a++){
System.out.println(array[a]);
}
}
System.out.print("排序后的结果为:");
for(int a = 0; a < array.length; a++){
System.out.print(array[a] + "\t");
}
}
}