#include <stdio.h> void bubbleSort(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 numbers[] = {5, 2, 9, 1, 7, 3, 8, 6, 4, 10}; int n = sizeof(numbers) / sizeof(numbers[0]); int i; printf("排序前的数字序列:\n"); for (i = 0; i < n; i++) { printf("%d ", numbers[i]); } bubbleSort(numbers, n); printf("\n排序后的数字序列:\n"); for (i = 0; i < n; i++) { printf("%d ", numbers[i]); } return 0; }不使用冒泡排序
时间: 2024-04-11 10:28:14 浏览: 118
C语言程序设计实验报告.docx
如果不使用冒泡排序算法,你可以尝试使用其他排序算法,比如选择排序或插入排序。下面是一个使用选择排序算法将一组数字按照从大到小排列的示例程序:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, maxIndex, temp;
for (i = 0; i < n-1; i++) {
maxIndex = i;
for (j = i+1; j < n; j++) {
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
int main() {
int numbers[] = {5, 2, 9, 1, 7, 3, 8, 6, 4, 10};
int n = sizeof(numbers) / sizeof(numbers[0]);
int i;
printf("排序前的数字序列:\n");
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
selectionSort(numbers, n);
printf("\n排序后的数字序列:\n");
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
这个程序使用了选择排序算法,从待排序的数字中选择最大的数,并将其放在已排序部分的末尾。重复这个过程直到所有数字都被排序。你可以根据需要修改 `numbers` 数组中的数字来进行排序。
阅读全文