用数组实现冒泡排序(其他排序算法亦可)。 至少 50 个以上数据,用随机数初始化数组。 跑 5 万个数,查看不同排序算法,快速排序
时间: 2024-03-29 08:37:40 浏览: 60
快速排序,冒泡排序算法实现!
这是一个使用 C++ 实现的冒泡排序的示例代码:
```
#include <iostream>
#include <cstdlib>
#include <ctime>
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]) {
swap(arr[j], arr[j+1]);
}
}
}
}
int main() {
const int n = 50000;
int arr[n];
// 初始化数组
srand(time(NULL));
for (int i = 0; i < n; i++) {
arr[i] = rand() % 1000;
}
// 冒泡排序
clock_t start = clock();
bubbleSort(arr, n);
clock_t end = clock();
// 计算时间
double time_taken = double(end - start) / double(CLOCKS_PER_SEC);
cout << "冒泡排序用时: " << time_taken << " 秒" << endl;
return 0;
}
```
这里使用了 C++ 的 `rand()` 函数生成随机数,并使用 `time()` 函数初始化随机数生成器。
这个示例代码可以在运行时接受一个整数参数 `n`,表示要排序的数据量。例如,你可以使用 `./sort 100000` 命令来排序 100000 个随机数。
对于其他排序算法,你可以参考这个网站 [Sorting Algorithms Animations](https://www.toptal.com/developers/sorting-algorithms)。这个网站提供了多种排序算法的动画演示和示例代码,可以帮助你更好地理解这些算法的工作原理。
阅读全文