冒泡排序
它重复地走访过要排序的数列,从头开始一次比较两个元素,如果他们的大小顺序错误就把他们交换位置。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
实现代码
import java.util.Arrays;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//动态创建数组
int[] arr = new int[sc.nextInt()];
for(int i = 0 ; i< arr.length ; i++){
arr[i] = sc.nextInt();
}
for(int j = 0;j<arr.length;j++){
/* 设定一个标记,若为true,则表示此次循环没有进行交换,
也就是待排序列已经有序,排序已经完成。*/
boolean flag = true;
for(int i = 0 ; i< arr.length-1; i++){
if(arr[i]>arr[i+1]){
int item = arr[i];
arr[i] = arr[i+1];
arr[i+1] = item;
flag = false;
}
}
if(flag){
break;
}
}
System.out.println(Arrays.toString(arr));
}
}
测试结果