冒泡排序
2023/6/20 1:52:34
本文主要是介绍冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 冒泡排序
- 遍历数组,每一次循环,两两比较,大的放后面
- 每次 outerloop 遍历就会让当前没有 sorted 部分找出一个最大元素放到正确的位置上 (被换到那)
严格的
O(N^2)
时间复杂度,两个两个元素进行比较它的基本思想是反复地交换相邻的未按顺序排列的元素。
代码演示
冒泡排序算法的示例代码:
javaCopy codepublic class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换arr[j]和arr[j + 1]的位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } public static void main(String[] args) { int[] arr = {64, 34, 25, 12, 22, 11, 90}; System.out.println("原始数组:"); printArray(arr); bubbleSort(arr); System.out.println("排序后的数组:"); printArray(arr); } public static void printArray(int[] arr) { for (int i : arr) { System.out.print(i + " "); } System.out.println(); } }
这段代码定义了一个名为BubbleSort
的类,其中包含了一个静态方法bubbleSort
用于执行冒泡排序算法。在main
方法中,我们创建了一个整数数组arr
,调用bubbleSort
方法对其进行排序,并通过printArray
方法打印排序后的数组。
冒泡排序算法的核心思想是通过相邻元素的比较和交换,将较大的元素逐渐“冒泡”到数组的末尾。外层循环控制需要进行比较的轮数,内层循环在每一轮中依次比较相邻的两个元素并交换位置。
输出结果将会是:
makefileCopy code原始数组: 64 34 25 12 22 11 90 排序后的数组: 11 12 22 25 34 64 90
这篇关于冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22[开源]10.3K+ Star!轻量强大的开源运维平台,超赞!
- 2024-11-21Flutter基础教程:新手入门指南
- 2024-11-21Flutter跨平台教程:新手入门详解
- 2024-11-21Flutter跨平台教程:新手入门与实践指南
- 2024-11-21Flutter列表组件教程:初学者指南
- 2024-11-21Flutter列表组件教程:新手入门指南
- 2024-11-21Flutter入门教程:初学者必看指南
- 2024-11-21Flutter入门教程:从零开始的Flutter开发指南
- 2024-11-21Flutter升级教程:新手必读的升级指南
- 2024-11-21Flutter升级教程:轻松掌握Flutter版本更新