实现C语言代码,完成对一组随机数的冒泡排序并记录排序时间
时间: 2024-04-14 18:28:59 浏览: 107
当然可以!以下是一个用C语言实现的冒泡排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交换arr[j]和arr[j+1]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
srand(time(0)); // 设置随机数种子
int n = 10; // 数组长度
int arr[n];
// 生成随机数
for (int i = 0; i < n; i++) {
arr[i] = rand() % 100; // 生成0到99的随机数
}
// 输出未排序的数组
printf("排序前的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 冒泡排序
clock_t start_time = clock(); // 记录开始时间
bubbleSort(arr, n);
clock_t end_time = clock(); // 记录结束时间
// 输出排序后的数组
printf("排序后的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 输出排序时间
double total_time = (double)(end_time - start_time) / CLOCKS_PER_SEC;
printf("排序时间:%.6f秒\n", total_time);
return 0;
}
```
这段代码会生成一个长度为10的随机数组,然后使用冒泡排序对其进行排序,并记录排序时间。你可以根据需要修改数组长度 `n` 来适应不同的测试情况。
阅读全文