C++言語でバブルソートアルゴリズムを実現

864 ワード

バブルソートアルゴリズムは最も簡単なソートアルゴリズムであり、実現しやすく、理解しやすく、以下は実現コードである.
#include 

using namespace std;

void sort(int *arr,int length)    //            
{
    int temp;
    for (int i = 1; i < length; i++)  //compare times
    {
        for (int j = length - 1; j >= i; j--) //           i   
        {
            if (arr[j] < arr[j - 1])         //        ,       
            {
                temp = arr[j];
                arr[j] = arr[j - 1];
                arr[j - 1] = temp;
            }
        }
    }
}

int main()
{
    int arra[] = {12,12,54,1745,45,45,469,789,789};
    int length = sizeof(arra) / sizeof(arra[0]);    //      
    sort(arra,length);
    for (size_t i = 0; i < length; i++)
        cout << arra[i] << " ";
    system("pause");
    return 0;
}

時間複雑度O(n^2).