代码包含了必要的头文件 iostream
用于输入/输出操作。
using namespace std;
这行代码允许你在使用 std
命名空间的时候不需要显式地指定命名空间(例如,可以直接使用 cout
而不是 std::cout
)。
声明了一个大小为10的数组 arr
并使用未排序的整数值进行初始化。
定义了 bubbleSort
函数,它实现了冒泡排序算法以升序排序数组。该函数接受一个整数指针 (int* arr
) 和数组的长度 (int len
) 作为参数。
在 bubbleSort
函数内部,有两个嵌套的 for
循环。外层循环执行 len - 1
次,表示需要进行的趟数以排序数组。
内层循环比较数组中相邻的元素,如果它们的顺序不正确,则进行交换。内层循环在每次趟数中执行 len - 1 - i
次,其中 i
是外层循环当前的趟数。
如果当前元素 arr[j]
大于下一个元素 arr[j + 1]
,则使用临时变量 temp
进行位置交换。
定义了 printArray
函数来打印数组的元素。该函数接受一个整数数组 (arr
) 和数组的长度 (len
) 作为参数。
在 printArray
函数内部,使用 for
循环遍历数组的元素,并使用 cout
语句进行打印。
在 main
函数中,声明了一个新的数组 arr
并以与之前数组相同的值进行初始化。
通过将数组的总大小除以一个整数的大小来计算数组的长度。
调用 bubbleSort
函数,传递数组和其长度作为参数进行排序。
调用 printArray
函数,打印排序后的数组。
使用 system("pause");
语句暂停程序的执行,以便在控制台窗口中查看结果。
return 0;
结束程序的执行并返回0,表示成功执行。
#include <iostream>
using namespace std;
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
// 冒泡排序算法,用于将数组按升序排序
void bubbleSort(int* arr, int len) // int* arr 可以写作 int arr[]
{
for (int i = 0; i < len - 1; i++) // 外层循环表示需要进行的趟数
{
for (int j = 0; j < len - 1 - i; j++) // 内层循环进行每趟的比较
{
if (arr[j] > arr[j + 1]) // 如果当前元素大于下一个元素
{
// 交换这两个元素的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 打印数组元素的函数
void printArray(int arr[], int len)
{
for (int i = 0; i < len; i++)
{
cout << arr[i] << endl;
}
}
int main() {
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
int len = sizeof(arr) / sizeof(int); // 计算数组的长度
bubbleSort(arr, len); // 使用冒泡排序对数组进行排序
printArray(arr, len); // 打印排序后的数组
system("pause");
return 0;
}