冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并按照大小交换它们的位置,直到整个列表排序完成。下面是使用C++语言实现冒泡排序并正确打印结果的示例代码:
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; 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 n) {
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
cout << "排序后的数组:";
printArray(arr, n);
return 0;
}
这段代码首先定义了一个冒泡排序的函数bubbleSort
,它接受一个整数数组和数组的长度作为参数。在函数内部,使用两个嵌套的循环来遍历数组并比较相邻元素的大小,如果前一个元素大于后一个元素,则交换它们的位置。通过这样的比较和交换操作,每一轮循环都会将当前未排序部分的最大元素移动到末尾。最后,使用printArray
函数打印排序后的数组。
以上代码的输出结果为:
排序后的数组:11 12 22 25 34 64 90
冒泡排序的时间复杂度为O(n^2),在处理小规模数据时比较实用。然而,对于大规模数据的排序,冒泡排序的效率较低,不推荐使用。
腾讯云提供了多种云计算相关产品,例如云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云