d冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访时要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
其实简单来说,冒泡排序就是在数组当中,进行前两个相互比较,如果正序则直接进行顺次下两个的比较,如果反序,则进行互换。先展示代码:
import java.util.Scanner;
public class maopaopaixu {
public static void main(String[] args) {
// 1,利用Scanner类进行键盘录入
Scanner scanner = new Scanner(System.in);
// 2.录入String形式的字符类型,中间用空格隔开,方便下一步进行分割
String str =scanner.nextLine().toString();
// 3.通过对空格进行分割,从而创建一个String类型的数组;
String[] arr = str.split(" ");
// 4.新建一个Int类型的数组
int[] list = new int[arr.length];
// 5.通过for循环进行对arr数组的逐一转入,并且通过Ingeger包中的parseInt对字符类型转变为Int类型
for (int i = 0; i < list.length; i++) {
list[i]=Integer.parseInt(arr[i]);
}
// 6. 赋值一个空的变量,方便后期的交换
int temp=0;
// 7.利用for循环进行冒泡排序交换
for (int i = 0; i < list.length-1; i++) {
for(int j = 0; j < list.length-1-i ; j++){
if (list[j]>list[j+1]){
temp=list[j];
list[j]=list[j+1];
list[j+1]=temp;
}
}
}
// 8.打印数组
for (int i = 0; i < list.length; i++) {
System.out.print(list[i]);
}
}
}
这段代码就是将键盘录入和冒泡排序相结合,真正完成数组的排序,下图就是冒泡排序的一步步流程。结合的代码和动图可以更加直观的搞明白其中的道理。