C语言冒泡排序一百万个数
时间: 2023-07-10 16:23:22 浏览: 103
冒泡排序 C语言
好的,下面是C语言实现冒泡排序一百万个数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubble_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[1000000];
int i;
clock_t start, end;
double cpu_time_used;
// 生成随机数
srand((unsigned int)time(NULL));
for (i = 0; i < 1000000; i++) {
arr[i] = rand();
}
// 排序并计时
start = clock();
bubble_sort(arr, 1000000);
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
printf("排序1000000个数所用的时间为 %f 秒\n", cpu_time_used);
return 0;
}
```
这里使用了C标准库中的 `time.h` 来计算程序运行时间。由于冒泡排序的时间复杂度为 $O(n^2)$,因此排序一百万个数所需的时间会比较长,需要等待一段时间才能得到结果。
阅读全文