使用c语言编写一串数字排序
时间: 2024-12-18 08:17:30 浏览: 3
选择法排序示意图算法-字符串排序课件
在C语言中,可以使用不同的排序算法对一串数字进行排序,比如冒泡排序、选择排序、插入排序、快速排序等。这里以常见的快速排序为例,它是一种分治策略的排序算法,步骤如下:
```c
#include <stdio.h>
// 快速排序函数
void quickSort(int arr[], int left, int right) {
if (left < right) {
// 找到分割点
int pivot = arr[left], i = left, j = right;
while (i < j) {
while (i < j && arr[j] >= pivot)
j--;
if (i < j)
arr[i++] = arr[j];
while (i < j && arr[i] <= pivot)
i++;
if (i < j)
arr[j--] = arr[i];
}
arr[i] = pivot; // 将pivot放在正确的位置
quickSort(arr, left, i - 1); // 对左半部分递归排序
quickSort(arr, i + 1, right); // 对右半部分递归排序
}
}
int main() {
int numbers[] = {9, 5, 7, 3, 6, 8, 1, 4, 2};
int n = sizeof(numbers) / sizeof(numbers[0]);
printf("Original array: ");
for (int i = 0; i < n; i++)
printf("%d ", numbers[i]);
printf("\n");
quickSort(numbers, 0, n - 1);
printf("Sorted array: ");
for (int i = 0; i < n; i++)
printf("%d ", numbers[i]);
printf("\n");
return 0;
}
```
运行这个程序会打印出排序后的数组。
阅读全文