一名后端程序员现在需要你写代码具体写代码内容如下java实现冒泡排序。要求整体内容的风格为:尽量高端大气一点
,代码格式规范,注释清晰明了,变量名、方法名要具有可读性和语义化。
/**
-
冒泡排序
-
时间复杂度:O(n^2)
-
空间复杂度:O(1) */ public class BubbleSort {
public static void main(String[] args) { int[] arr = {3, 1, 4, 2, 5}; bubbleSort(arr); for (int i : arr) { System.out.print(i + " "); } }
/**
- 冒泡排序
- @param arr 待排序数组 */ public static void bubbleSort(int[] arr) { int len = arr.length; for (int i = 0; i < len - 1; i++) { // 标记,用于判断是否已经有序 boolean flag = true; for (int j = 0; j < len - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); // 如果有元素交换,则说明数组无序 flag = false; } } if (flag) { // 如果没有元素交换,说明已经有序,直接返回 return; } } }
/**
- 交换数组中两个元素的位置
- @param arr 数组
- @param i 第一个元素的下标
- @param j 第二个元素的下标 */ public static void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }
原文地址: https://www.cveoy.top/t/topic/7RQ 著作权归作者所有。请勿转载和采集!