利用c++实现 * 实现冒泡排序算法 * 实验目的: * 领会冒泡排序的过程和算法设计 * 实验内容: * 设计程序,实现冒泡排序算法。用相关数据进行测试,并 * 输出各趟的排序结果。 */
时间: 2024-06-25 17:00:48 浏览: 90
<<
在C++中实现冒泡排序算法,首先你需要理解冒泡排序的基本思想,即重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。这个过程会持续到数列完全有序为止。以下是一个简单的冒泡排序算法的实现:
```cpp
#include <iostream>
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;
}
}
}
}
// 测试代码
int main() {
int data[] = {9, 7, 5, 11, 3, 8};
int size = sizeof(data) / sizeof(data);
std::cout << "Original array: ";
for (int i = 0; i < size; i++) {
std::cout << data[i] << " ";
}
std::cout << "\n";
bubbleSort(data, size);
std::cout << "Sorted array after one pass: ";
for (int i = 0; i < size; i++) {
std::cout << data[i] << " ";
}
// 可以选择增加更多的pass次数来查看排序过程
// ... (类似上一行,输出每趟排序后的数组)
return 0;
}
```
在这个示例中,`bubbleSort` 函数接受一个整数数组和它的大小作为参数,然后通过嵌套的for循环进行排序。`main` 函数则用于创建一个测试数组并调用排序函数。你可以通过增加`main`函数中的`bubbleSort`调用次数来观察排序过程。
阅读全文