:简单无序表的冒泡排序。 (1)输入10个整数,并进行冒泡排序(从小到大); (2)随机产生1~100范围之内的100个整数值,然后进行冒泡排序(从小到大)。用cc语言
时间: 2024-02-03 20:13:45 浏览: 87
排序的各种算法 集合
以下是使用 C 语言编写的简单无序表的冒泡排序代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10 //定义数组大小
//从小到大排序
void bubbleSort(int arr[], int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) {
for (j = 0; j < size - 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[SIZE];
int i;
//输入10个整数并进行冒泡排序
printf("请输入10个整数:\n");
for (i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, SIZE);
printf("排序后的结果为:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
//随机产生100个整数并进行冒泡排序
int size = 100;
int arr2[size];
srand(time(NULL));
printf("随机产生的100个整数为:\n");
for (i = 0; i < size; i++) {
arr2[i] = rand() % 100 + 1;
printf("%d ", arr2[i]);
}
printf("\n");
bubbleSort(arr2, size);
printf("排序后的结果为:\n");
for (i = 0; i < size; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们使用了 `bubbleSort` 函数来实现冒泡排序。对于每一个元素,在其右边的所有元素中选出最小的,然后将它与当前元素交换位置,这样就可以将最小的元素移动到数组的最左边。每一轮循环都会将当前未排序的最小元素放到正确的位置上。
在主函数中,我们首先输入 10 个整数并进行冒泡排序,然后随机产生 100 个整数并进行冒泡排序。我们使用 `srand` 函数生成随机数种子,然后使用 `rand` 函数来生成随机数。
阅读全文