在0到100000000之间随机创建n个整数,并对这n个随机整数进行冒泡排序,当n=1000时他的运行时间 C语言
时间: 2024-10-20 12:04:21 浏览: 29
在C语言中,要随机生成n个整数并对其进行冒泡排序,首先你需要使用`rand()`函数配合`srand()`种子初始化生成随机数。然后,可以使用`bubble_sort`算法对数组进行排序。对于大规模数据如n=1000,冒泡排序的时间复杂度为O(n^2),这意味着当输入规模增大时,排序速度会非常慢。
以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubble_sort(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() {
srand(time(0)); // 使用当前时间作为随机数种子
int n = 1000;
int *numbers = malloc(n * sizeof(int));
// 生成n个随机数
for (int i = 0; i < n; ++i)
numbers[i] = rand() % 100000000;
// 打印排序前的数组
printf("Before sorting:\n");
for (int i = 0; i < n; ++i)
printf("%d ", numbers[i]);
printf("\n");
// 冒泡排序
bubble_sort(numbers, n);
// 打印排序后的数组
printf("After sorting:\n");
for (int i = 0; i < n; ++i)
printf("%d ", numbers[i]);
printf("\n");
free(numbers); // 释放内存
return 0;
}
阅读全文
相关推荐


















