冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并按照大小顺序交换它们,直到整个列表排序完成。冒泡排序的基本思想是每次将最大的元素“冒泡”到列表的末尾。
以下是冒泡排序的示例代码:
void BubbleSort(int* arr, int n) { int end = n; while (end) { int flag = 0; for (int i = 1; i < end; ++i) { if (arr[i - 1] > arr[i]) { int tem = arr[i]; arr[i] = arr[i - 1]; arr[i - 1] = tem; flag = 1; } } if (flag == 0) { break; } --end; } }
以上代码中,arr
是待排序的数组,n
是数组的长度。冒泡排序通过不断比较相邻的元素并交换它们的位置来实现排序。在每一轮遍历中,如果发现有元素比它的后一个元素大,则交换它们的位置。通过多次遍历,最大的元素会逐渐“冒泡”到数组的末尾。当一轮遍历中没有发生任何交换时,说明数组已经排序完成,可以提前结束排序