*编一个程序,用一个函数实现对n个整数类型数据进行从小到大的排序,函数原型如下: void Sort(int all, int n)
时间: 2024-09-19 12:18:07 浏览: 53
为了实现这个函数Sort,我们可以使用常见的排序算法之一,如冒泡排序、插入排序、选择排序、快速排序或归并排序。这里我们选择一种简单易懂的插入排序作为示例。以下是使用C语言编写的插入排序函数:
```c
#include <stdio.h>
// 插入排序函数
void insertion_sort(int arr[], int n) {
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
// 将大于key的元素逐步向右移动
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key; // 将key插入适当位置
}
}
// 主函数,演示如何调用
int main() {
int num[] = {5, 3, 8, 1, 9, 2};
int n = sizeof(num) / sizeof(num[0]);
printf("Before sorting:\n");
for (int i = 0; i < n; i++) {
printf("%d ", num[i]);
}
insertion_sort(num, n);
printf("\nAfter sorting in ascending order:\n");
for (int i = 0; i < n; i++) {
printf("%d ", num[i]);
}
return 0;
}
```
在这个例子中,`insertion_sort`函数接受一个整数数组和其长度,然后通过遍历数组元素并不断将它们插入已排序部分的正确位置,实现了排序。主函数展示了如何调用这个排序函数,并打印出排序前后的结果。
阅读全文