# Java冒泡排序
冒泡排序是一种基础的排序算法,它的工作原理是重复地遍历待排序的序列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,遍历序列的工作是重复地进行直到没有再需要交换,也就是说该序列已经排序完成,这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,如同气泡一样,所以叫冒泡排序。
下面是用Java实现冒泡排序的代码:
public class BubbleSort { public static void main(String[] args) { int[] array = {64, 34, 25, 12, 22, 11, 90}; // 待排序数组 bubbleSort(array); System.out.println("Sorted array is"); printArray(array); } // 用于排序的冒泡排序函数 static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i < n-1; i++) for (int j = 0; j < n-i-1; j++) if (array[j] > array[j+1]) { // swap array[j+1] and array[j] int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } // 用于打印数组的函数 static void printArray(int[] array) { int n = array.length; for (int i=0; i<n; ++i) System.out.print(array[i] + " "); System.out.println(); } }
在这段代码中,我们首先定义了一个待排序的数组,然后通过调用`bubbleSort`方法进行排序,在`bubbleSort`方法中,我们使用了两个嵌套的循环来遍历数组并进行比较,如果前一个元素比后一个元素大,我们就交换这两个元素的位置,最大的元素就会像“气泡”一样“浮”到数组的末尾,然后我们再重复这个过程,直到整个数组都排好序为止,我们使用`printArray`方法打印出排好序的数组。