排序——冒泡排序
1 /* 2 * int类型的数组对象 3 * int[] arr = {9, 8, 10, 7, 6, 0, 11}; 4 * 经过冒泡排序对以上数组中的元素进行排序 5 * 6 * 原始数据:9,8,10,7,6,0,11 7 * 第一次循环: 第零位9跟第一位8进行比较,交换位置:8,9,10,7,6,0,11 8 * 第一位9跟第二位10进行比较,位置不变:8,9,10,7,6,0,11 9 * 第二位10跟第三位7进行比较,交换位置:8,9,7,10,6,0,11 10 * 第三位10跟第四位6进行比较,交换位置:8,9,7,6,10,0,11 11 * 第四位10跟第五位0进行比较,交换位置:8,9,7,6,0,10,11 12 * 第五位10跟第六位11进行比较,位置不变:8,9,7,6,0,10,11 13 *最大数11冒出 14 *此时数据:8,9,7,6,0,10 15 *第二次循环: 第零位8跟第一位9进行比较,位置不变:8,9,7,6,0,10 16 * 第一位9跟第二位7进行比较,交换位置:8,7,9,6,0,10 17 * 第二位9跟第三位6进行比较,交换位置:8,7,6,9,0,10 18 * 第三位9跟第四位0进行比较,交换位置:8,7,6,0,9,10 19 * 第四位9跟第五位10进行比较,位置不变:8,7,6,0,9,10 20 *最大数10冒出 21 *此时数据:8,7,6,0,9 22 *第三次循环: 第零位8跟第一位7进行比较,交换位置:7,8,6,0,9 23 * 第一位8跟第二位6进行比较,交换位置:7,6,8,0,9 24 * 第二位8跟第三位0进行比较,交换位置:7,6,0,8,9 25 * 第三位8跟第四位9进行比较,位置不变:7,6,0,8,9 26 *最大数9冒出 27 *此时数据:7,6,0,8 28 *第四次循环: 第零位7跟第一位6进行比较,交换位置:6,7,0,8 29 * 第一位7跟第二位0进行比较,交换位置:6,0,7,8 30 * 第二位7跟第三位8进行比较,位置不变:6,0,7,8 31 *最大数8冒出 32 *此时数据:6,0,7 33 *第五次循环: 第零位6跟第一位0进行比较,交换位置:0,6,7 34 * 第一位6跟第二位7进行比较,位置不变:0,6,7 35 * 最大数7冒出 36 * 此时数据:0,6 37 * 第六次循环: 第零位0跟第一位6进行比较,位置不变:0,6 38 * 最大数6冒出 39 */ 40 public class MaoPao { 41 public static void main(String[] args) { 42 // 定义要排序的int数组 43 int[] arr = { 9, 8, 10, 7, 6, 0, 11 }; 44 // 计算循环的次数(可有可无) 45 int count = 0; 46 for (int i = arr.length - 1; i > 0; i--) { 47 for (int j = 0; j < i; j++) { 48 count++; 49 if (arr[j] > arr[j + 1]) { 50 // 以下三行代码完成数据的交换 51 int temp;// 暂时存放 52 temp = arr[j];// 第一个数拿出来 53 arr[j] = arr[j + 1];// 第二个数放到第一个数的位置 54 arr[j + 1] = temp;// 第一个数放到第二个数的位置 55 } 56 } 57 } 58 System.out.println("循环了" + count + "次。"); 59 for (int i = 0; i < arr.length; i++) { 60 System.out.println(arr[i]); 61 } 62 } 63 64 }
最简单的排序算法。