另一个直接了当的排序方法就是冒泡算法。
比较表中的相邻元素,如果是逆序的话就交换位置。重复多次后,最终最大的元素下沉到列表的最后一个位置,第二遍操作将第二大的元素沉下去,直到n-1遍后,该列表就排好序了。
代码如下:
import java.util.Arrays;
import java.util.Scanner;
public class BubbleMain {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入需要排序元素个数:");
int n = in.nextInt();
int [] A;
A=new int [n];
System.out.println("请输入"+ n + "个元素:");
for(int i=0;i<n;i++)
{
A[i] = in.nextInt();
}
BubbleSort b = new BubbleSort();
b.BubbleSort(A);
System.out.println(Arrays.toString(A));
}
}
public class BubbleSort {
public void BubbleSort(int [] A) {
if (A == null || A.length <= 0){
return;
}
for(int i=0;i<A.length-1;i++) {
for(int j=0;j<=A.length-2-i;j++) {
if(A[j+1]<A[j]) {
int temp = A[j+1];
A[j+1] = A[j];
A[j] = temp;
}
}
}
}
}