![](https://i-blog.csdnimg.cn/blog_migrate/ab7c1cbaee0e41bcb87dec60b0de6072.png)
一、题目
有一个长度为7的无序数组,按照从小到大的顺序排序后输出。
输入描述:
💡有一个长度为7的无序数组,按照从小到大的顺序排序后输出。
输出描述:
💡有一个长度为7的无序数组,按照从小到大的顺序排序后输出。
![](https://i-blog.csdnimg.cn/blog_migrate/4bd73c7c904f47304b627f1543c2c501.png)
二、思考
![](https://i-blog.csdnimg.cn/blog_migrate/c0886be0e3882dc548e8578016fce9d5.png)
三、代码
原代码:
public static void main(String[] args) {
//输入
Scanner scanner = new Scanner(System.in);
int[] arr = new int[7];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
//排序
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j] > arr[j+1]) {
arr[j] = arr[j] ^ arr[j+1];
arr[j+1] = arr[j] ^ arr[j+1];
arr[j] = arr[j] ^ arr[j+1];
}
}
}
//输出
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
优化代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//输入
Scanner scanner = new Scanner(System.in);
int[] arr = new int[7];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
//排序
for (int i = 0; i < arr.length-1; i++) {
boolean flag = true;
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j] > arr[j+1]) {
arr[j] = arr[j] ^ arr[j+1];
arr[j+1] = arr[j] ^ arr[j+1];
arr[j] = arr[j] ^ arr[j+1];
flag = false;
}
}
if(flag) {
break;
}
}
//输出
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}