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 }