冒泡排序算法

//@冒泡排序算法 
//@author: vinson
//@date: 2012.9.20 
  
//算法思想:从最后的数字开始依次与前面的两两比较,并将 
//          较大(较小)放在前面(交换位置),一趟排序 
//          就将最大(最小)的数字排在了前面。依次进行 
//          n-1趟排序,且前面排好的不管 。 
  
#include <iostream> 
using namespace std; 
void Swap(int &x, int &y) 
{ 
    int t; 
    t= x; 
    x= y; 
    y= t; 
} 
void BubbleSort(int a[], int n) 
{ 
    int i, j; 
    for(i= 1; i< n; ++i)//n-1趟排序 
    { 
          
        for(j= n-1; j> i- 1; j--)//前面i个已经排好序 
        { 
            if(a[j]> a[j- 1]) Swap(a[j], a[j- 1]); 
        } 
    } 
} 
int main() 
{ 
    int a[100]; 
    int n; 
    cin>>n; 
    int k; 
    for(k= 0; k< n; k++) cin>>a[k]; 
    BubbleSort(a, n); 
    for(k= 0; k< n; k++) cout<<a[k]<<' '; 
    cout<<endl; 
    return 0; 
          
}
vinson
原文地址:https://www.cnblogs.com/vinsonLu/p/2695547.html