#include<iostream>
// 冒泡排序函数(有哨兵)
void Mao(int A[], int n) {
int flag = 1, temp;
// 外层循环控制排序轮数,最多 n - 1 轮
for (int i = 1; i <= n - 1 && flag == 1; i++) {
flag = 0;
// 内层循环进行相邻元素比较和交换
for (int j = 0; j <= n - 2; j++) {
if (A[j] > A[j + 1]) {
flag = 1;
// 交换元素
temp = A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
}
}
}
}
int main() {
// 定义测试数组
int A[] = {3, 6, 5, 3, 4, 5};
// 调用冒泡排序函数
Mao(A, 6);
// 输出排序后的数组元素
for (int i = 0; i < 6; i++) {
std::cout << A[i];
}
return 0;
}
运行结果: