冒泡排序是Java乃至其他大多语言中很普遍的一种排序方式,这种排序方式的目的是将数组中的元素按照从小到大的顺序进行排列。
排序流程:
不断比较两个相邻的元素,从第一个元素与第二个元素开始比较,若第一个元素大于后一个,则交换位置,将大的元素放在后面,再利用新的第二个元素与第三个元素作比较,重复前述操作,直到倒数第二个元素比较完毕,返回到新的第一个元素,开始新的一轮比较直到倒数第三个元素为止。排序思想:
就是将数组中大的元素放到后面,第一轮循环之后,位置位于最后一位的元素就是本数组中最大的元素,因此不需要再做比较。同理,后面的每执行完一轮,就会有一个较大的数字位于数组后方的位置。
代码实现:
class paiXu(){ public static void main(){ //定义一个无序数组arr int[] arr={1,7,9,2,11,4,15,13,6,19,10,8,17}; int[] res=Bubble(arr);//定义一个新的数组类型的数据接收返回值 System.out.println("排序后"); printArray(arr);//输出排序后的数组 } // 冒泡排序方法代码实现部分: public static int[] Bubble(int[] arr) { int temp; 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]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } // 输出数组方法代码实现部分: public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { if (i == 0) { System.out.print("[" + arr[i] + ","); } else if (i == arr.length - 1) { System.out.print(arr[arr.length - 1] + "]"); } else { System.out.print(arr[i] + ","); } } } }
这样就完成了对一个数组进行简单的冒泡排序的过程。具体的实现结果如下所示: