c语言中如何给数字排序
时间: 2024-10-21 09:09:26 浏览: 14
在C语言中,对数字进行排序有多种方法,最常用的是选择数组排序(如冒泡排序、插入排序、选择排序、快速排序等)、归并排序、堆排序或使用标准库函数qsort()。以下是几种常见的排序算法:
1. 冒泡排序:
```c
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;
}
}
}
}
```
2. 使用qsort()函数(标准库):
```c
#include <stdio.h>
#include <stdlib.h>
// 定义比较函数
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
void quick_sort(int arr[], int left, int right) {
if (left < right) {
int pi = partition(arr, left, right);
quick_sort(arr, left, pi - 1);
quick_sort(arr, pi + 1, right);
}
}
void partition(int arr[], int low, int high) {
// ...
}
int main() {
int arr[] = {5, 8, 1, 9, 3};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(int), compare);
// 输出排序后的数组
// ...
}
```
阅读全文