1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 //冒泡排序
 6 //对数组进行从小到大排序
 7 void bubbleSort(int arr[], int length)
 8 {
 9     for (int i = length - 1; i >= 0; i--)
10     {
11         //如果经过一轮扫描后flag仍为0,表示数组已排序好,无需再进行排序
12         int flag = 0; 
13         for (int j = 0; j < i; j++)
14         {
15             //相邻元素进行比较,如果左边的元素大于右边的,则进行交换
16             if (arr[j] > arr[j+1])
17             {
18                 int temp = arr[j];
19                 arr[j] = arr[j + 1];
20                 arr[j + 1] = temp;
21                 flag++;
22             }
23         }
24         if (flag == 0)
25             break;
26     }
27 }
28 
29 //数组打印函数
30 void printArray(int arr[], int length)
31 {
32     for (int i = 0; i < length; i++)
33     {
34         cout << arr[i] << " ";
35     }
36     cout << endl;
37 }
38 
39 int main()
40 {
41     int arr[] = { 5,3,7,1,4,9 };
42     cout << "排序前: " << endl;
43     printArray(arr, 6);
44 
45     bubbleSort(arr, 6);
46 
47     cout << "排序后: " << endl;
48     printArray(arr, 6);
49     return 0;
50 }