冒泡算法学习使用代码如下
import untils.AlgorithmUtils;
import java.util.Arrays;
public class Bubble {
public static int[] studyBubbleSort(int[] arr) {
int len = arr.length;
System.out.println("传入的原数组长度为: " + len);
System.out.println("传入的原数组为: " + Arrays.toString(arr));
for (int i = 0; i < len - 1; i++) {
System.out.println("----第 " + (i + 1) + " 轮排序开始----");
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
AlgorithmUtils.swap(arr, j, j + 1);
System.out.println(" 数组的第 " + j + " 位置与第 " + (j + 1) + "进行交换,交换后结果为: ");
System.out.println(" " + Arrays.toString(arr));
}
}
System.out.println("----第 " + (i + 1) + " 轮排序完毕----");
}
return arr;
}
}
package untils;
public class AlgorithmUtils {
public static void swap(int[] arr, int a, int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
冒泡算法作为工具类使用代码如下
public class Bubble {
public static int[] bubbleSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
AlgorithmUtils.swap(arr, j, j + 1);
}
}
}
return arr;
}
}