冒泡排序是C/C++、Java、Python等很多初学者必须的排序!其出现场景包括期末考试、计算机二级、专升本、考研、软考等大大小小的程序设计考试中,足以看到它的重要性!它如此重要,并非是它算法效率有多高、或工作中使用频率有多高,而是其最能锻炼一个人的代码逻辑,对理解排序这件事具有非常大的作用!


1. C/C++版代码:

#include <stdio.h>
#include <stdbool.h>

// 打印数组
void printArray(int arr[], int size)
{
    for (int i = 0; i < size; i++) 
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

// 冒泡排序主函数
int bubbleSort(int arr[], int n) 
{
    int i,j;
    int temp;
    for (i = 0; i < n - 1; i++) 
    {
        for (j = 0; j < n - i - 1; j++) 
        {
            if (arr[j] > arr[j + 1]) 
            {
                // 交换 arr[j] 和 arr[j+1]
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    return 0;
}

int main() {
    int arr[] = {76,64, 34, 25, 12, 22, 11, 90,55,29};
    int n = sizeof(arr) / sizeof(arr[0]);

    printf("原始数组:\n");
    printArray(arr, n);

    bubbleSort(arr, n);

    printf("排序后的数组:\n");
    printArray(arr, n);

    return 0;
}


2. Java版代码:

import java.util.Scanner;
public class Main {

    // 打印数组
    static void printArray(int arr[], int size) {
        for (int i = 0; i < size; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }

    // 冒泡排序主函数
    static void bubbleSort(int arr[], int n) {
        int temp;
        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]
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        int arr[] = {76, 64, 34, 25, 12, 22, 11, 90, 55, 29};
        int n = arr.length;

        System.out.println("原始数组:");
        printArray(arr, n);

        bubbleSort(arr, n);

        System.out.println("排序后的数组:");
        printArray(arr, n);
    }
}


3. Python版代码:

# 打印数组
def print_array(arr):
    for num in arr:
        print(num, end=' ')
    print()

# 冒泡排序主函数
def bubble_sort(arr):
    n = len(arr)
    for i in range(n - 1):
        for j in range(n - i - 1):
            if arr[j] > arr[j + 1]:
                # 交换 arr[j] 和 arr[j+1]
                arr[j], arr[j + 1] = arr[j + 1], arr[j]

if __name__ == "__main__":
    arr = [76, 64, 34, 25, 12, 28, 14, 90, 55, 29]

    print("原始数组:")
    print_array(arr)

    bubble_sort(arr)

    print("排序后的数组:")
    print_array(arr)


点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)