//@冒泡排序算法 //@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