冒泡排序
void bubbleSort(int arr[], const int n) { int i, j; i = j = 0; //每次一趟交换出一个最大的数字来到尾部,所以有n-1趟 //每一趟要比较决定是否交换,相邻元素交换的那种交换 bool stop = false; for (i = 1; i <= n - 1; i++) { stop = true; //注意:需要不断缩小范围才对,因为每次交换的都是往尾部的某个位置摆放 for (j = 0; j <= n - 1 - i; j++) { if (arr[j] > arr[j + 1]) { std::swap(arr[j], arr[j + 1]); stop = false; } } if (stop) break; } }