void BubbleSort(int arr[], int length)
{
if (arr == nullptr || length <= 1)
return;
for (int i = 0; i < length - 1; ++i)
{
for (int j = 0; j < length - 1; ++j)
{
if (arr[j] > arr[j + 1])
{
swap(arr[j], arr[j + 1]);
}
}
}
}
void BubbleSortRecur(int arr[], int length)
{
if (arr == nullptr || length <= 1)
return;
int num = length;
for (int i = 0; i < length - 1; ++i)
{
if (arr[i] > arr[i + 1])
{
swap(arr[i], arr[i + 1]);
}
}
BubbleSortRecur(arr, --length);
}
{
if (arr == nullptr || length <= 1)
return;
for (int i = 0; i < length - 1; ++i)
{
for (int j = 0; j < length - 1; ++j)
{
if (arr[j] > arr[j + 1])
{
swap(arr[j], arr[j + 1]);
}
}
}
}
void BubbleSortRecur(int arr[], int length)
{
if (arr == nullptr || length <= 1)
return;
int num = length;
for (int i = 0; i < length - 1; ++i)
{
if (arr[i] > arr[i + 1])
{
swap(arr[i], arr[i + 1]);
}
}
BubbleSortRecur(arr, --length);
}
本文介绍了C++中冒泡排序的两种实现方式:递归和非递归版本。非递归版本通过两层循环进行元素比较交换,递归版本则在每次比较后减少排序长度,直至完成排序。

576

被折叠的 条评论
为什么被折叠?



