冒泡排序是一种简单的排序算法

简介: 【4月更文挑战第28天】Java实现的冒泡排序示例,通过遍历数列并比较相邻元素,当顺序错误时交换位置,多次迭代完成排序。主要包含bubbleSort函数,内部使用两层循环进行元素比较与交换,以及printArray函数用于打印排序结果。

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。以下是Java实现冒泡排序的一个示例:

java
public class BubbleSort {
public static void main(String[] args) {
int[] array = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(array);
System.out.println("Sorted array: ");
printArray(array);
}

static void bubbleSort(int[] array) {  
    int n = array.length;  
    for (int i = 0; i < n-1; i++)  
        for (int j = 0; j < n-i-1; j++)  
            if (array[j] > array[j+1]) {  
                // swap array[j+1] and array[j]  
                int temp = array[j];  
                array[j] = array[j+1];  
                array[j+1] = temp;  
            }  
}  

static void printArray(int[] array) {  
    int n = array.length;  
    for (int i=0; i<n; ++i)  
        System.out.print(array[i] + " ");  
    System.out.println();  
}  

}
在这个示例中,bubbleSort函数是实现冒泡排序的主要部分。这个函数遍历整个数组,并使用嵌套循环来比较每对相邻的元素。如果一个元素比它后面的元素大,那么就交换这两个元素的位置。这个过程会重复进行,直到整个数组被完全排序。

相关文章
|
16天前
|
搜索推荐
冒泡排序算法
【10月更文挑战第19天】冒泡排序是一种基础的排序算法,虽然在实际应用中可能不是最优的选择,但对于理解排序算法的基本原理和过程具有重要意义。
|
30天前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
15 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
1月前
|
搜索推荐 算法 数据可视化
深入解析冒泡排序算法
深入解析冒泡排序算法
25 4
|
29天前
|
搜索推荐 C语言
排序算法--冒泡排序
排序算法--冒泡排序
13 0
|
5月前
|
机器学习/深度学习 搜索推荐 算法
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
|
1月前
|
存储 搜索推荐 算法
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
|
1月前
|
算法 Python
Python算法编程:冒泡排序、选择排序、快速排序
Python算法编程:冒泡排序、选择排序、快速排序
|
3月前
|
搜索推荐 Java
经典排序算法---冒泡排序
这篇文章详细介绍了冒泡排序算法的基本思想、比较轮数和次数,并提供了Java语言实现冒泡排序的代码示例,展示了如何通过相邻元素的比较和交换来达到排序的目的。
经典排序算法---冒泡排序
|
4月前
|
算法 PHP
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
32 1
|
5月前
|
机器学习/深度学习 算法 搜索推荐
数据结构算法--2 冒泡排序,选择排序,插入排序
**基础排序算法包括冒泡排序、选择排序和插入排序。冒泡排序通过相邻元素比较交换,逐步将最大值“冒”到末尾,平均时间复杂度为O(n^2)。选择排序每次找到剩余部分的最小值与未排序部分的第一个元素交换,同样具有O(n^2)的时间复杂度。插入排序则类似玩牌,将新元素插入到已排序部分的正确位置,也是O(n^2)复杂度。这些算法适用于小规模或部分有序的数据。**
下一篇
无影云桌面