/** * @brief 该函数实现了冒泡排序算法,时间复杂度为O(n*n) * @param[in] nums 待排序数组 * @param[in] n 数组长度 * @author wlq_729@163.com * http://blog.csdn.net/rabbit729 * @version 1.0 * @date 2009-03-03 */ #include <iostream> #include <string> using namespace std; #define N 6 void Bubble(int nums[], const int n) { bool bFlag = true; int i = 1; int count = 0; while (bFlag) { bFlag = false; for (int j = 0; j < n - i; j++) { if (nums[j] > nums[j+1]) { int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; bFlag = true; } } i++; } } void main( void ) { int test[N] = {6, 5, 4, 3, 3, 1}; cout<<"排序前:"; for (int i = 0; i < N; i++) { cout<<test[i]<<" "; } cout<<endl; Bubble(test, N); cout<<"排序后:"; for (int i = 0; i < N; i++) { cout<<test[i]<<" "; } cout<<endl; }