冒泡排序

直接上代码,解释在代码中

#include <iostream>

using namespace std;

void Bubble_sort(int *a, int len);

int main()
{
    int arr[] = {1, 8, 9, 7, 5, 4, 3, 6, 0, 2};
    Bubble_sort(arr, 10);
    for(int i=0; i<10; i++)
    {
        cout << arr[i] << ' ';
    }
    cout << endl;
    return 0;
}

//从小到大冒泡排序,可以选择将大的数往右移
void Bubble_sort(int *a, int len)
{
    for(int i=0; i<len-1; i++)  //负责遍历
    {
        //j<len-i-1;是因为每遍历一次就找到一个要找的大的数
        //下一次遍历就不需要比较已经找到的大的数

        for(int j=0; j<len-i-1; j++)

        //负责每一次遍历时找到数组中剩余的最大数,
        //并将这个最大数移动到上一次找到的最大数的后面
        {
            if(a[j] >= a[j+1])
                swap(a[j], a[j+1]);
        }
    }
}
原文地址:https://www.cnblogs.com/yang901112/p/11324391.html