有负数的冒泡排序c++
时间: 2025-02-17 20:20:05 浏览: 34
### C++ 中带有负数的冒泡排序实现
对于大小为 5 的数组,插入排序和冒泡半排序表现相似;然而,当处理超过 5 个元素时,插入排序通常更快[^1]。尽管如此,这里提供一种适用于任何整数(包括负数)的冒泡排序实现。
以下是完整的 C++ 冒泡排序代码示例:
```cpp
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
bool swapped;
for (int i = 0; i < n - 1; ++i) {
swapped = false;
for (int j = 0; j < n - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
swapped = true;
}
}
// 如果在内层循环中未发生交换,则说明已经有序
if (!swapped)
break;
}
}
// 打印数组函数
void printArray(int arr[], int size) {
for (int i = 0; i < size; ++i)
cout << arr[i] << " ";
cout << endl;
}
int main() {
int data[] = {-2, 45, 0, 11, -9};
int n = sizeof(data)/sizeof(data[0]);
bubbleSort(data, n);
cout << "Sorted array in ascending order:\n";
printArray(data, n);
return 0;
}
```
此程序定义了一个 `bubbleSort` 函数来对给定数组进行升序排列,并通过 `printArray` 输出结果。测试数据包含正数、零以及负数值以验证算法的有效性。
阅读全文
相关推荐


















