冒泡排序 | Bubble sort


设数组长度为len,设数组的下标为i,从下标0开始遍历依次比较数组中第i个与第i+1元素的大小,如果第i+1个元素大于第i个交换这两个元素,一共进行len-1次遍历比较,完成排序

#include <iostream>
using namespace std;

void print_array(int* arr, int size) {
    //打印数组
    cout << "array1={ ";
    for (int i = 0; i < size; ++i) {
        cout << arr[i] << " ";
    }
    cout << "}" << endl;
}

void swap(int &a, int &b) {
    //交换两个变量
    int temp = b;
    b = a;
    a = temp;
}

void bubble_sort(int* arr, int size) {
    //冒泡排序
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                swap(arr[j], arr[j + 1]);
            }
        }
    }
}

int main() {
    //数组基本信息
    int array1[] = { 2,1,5,3,6,8,1,4};
    int sizeArray = sizeof(array1) / sizeof(array1[0]);

    //排序前的数组
    print_array(array1, sizeArray);

    //排序
    bubble_sort(array1,sizeArray);

    //排序后的数组
    print_array(array1, sizeArray);
    
    return 0;
}
最后修改:2024 年 08 月 14 日
如果觉得我的文章对你有用,请随意赞赏