C++算法二:冒泡排序

冒泡排序效率非常低,實際的軟件的很少用,除了數據非常少。從左向右掃描數據,選擇最大的的數據,放在右邊。
要點:比較相鄰的兩個數,如果左邊的數據大於右邊的就進行交換。
#include<iostream>
using namespace std;
void BubbleSort(int list[],int n);//冒泡算法只有四行
int main()
{

    int a[] = {2,4,6,8,0,1,3,5,9,7};
    BubbleSort(a,10);
    for(int k = 0;k<10;k++)
        cout<<a[k]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
void BubbleSort(int list[],int n)
{
    //數組有n個數,外邊的循環次數爲n-1次
    for(int i = 0;i<n-1;i++)
    {
        //內部循環每次都會減小,越來越少,因爲大的數被放倒最右邊
        for(int j =0;j<n-i-1;j++)
        {
            if(list[j]>list[j+1])
                swap(list[j],list[j+1]);
        }
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章