赞
踩
冒泡排序:
public class Paixu { public static int[] MaoPao1(int[] arr) { int count = 0; //外层循环,总共有arr.length个数,需要排arr.length - 1次 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]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } count++; } } System.out.println("共排序了" + count + "次"); return arr; } //优化 public static int[] MaoPao2(int[] arr) { int count = 0; //外层循环,总共有arr.length个数,需要排arr.length - 1次 for (int i = 0; i < arr.length - 1; i++) { boolean flag = true; //内层循环,从第一位开始进行两两比较,最终将最大值放到最后 for (int j = 0; j < arr.length - 1 - i; j++) { //两两比较,交换位置 if (arr[j] > arr[j + 1]) { flag = false; int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } count++; } //如果当前数组已经排好序,则不再进行循环,直接返回 if (flag) { System.out.println("共排序了" + count + "次"); return arr; } } System.out.println("共排序了" + count + "次"); return arr; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。