给你一个长度为n的数组,数组为乱系,然后现在要从小到大排序用c语言写出。用sort 以及指针
时间: 2024-11-30 15:29:04 浏览: 24
c语言合并两个已排序数组的示例(c语言数组排序)
5星 · 资源好评率100%
在C语言中,为了对一个已知长度`n`且无序的整数数组进行升序排序,可以使用标准库函数`qsort`,它是一个通用的快速排序算法实现。但是,如果你想通过指针操作来实现排序,你可以考虑选择更简单的冒泡排序、插入排序或者选择排序等简单算法。
这里我们使用经典的冒泡排序作为示例,因为其易于理解并直接涉及指针操作:
```c
#include <stdio.h>
// 冒泡排序函数
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n - 1; i++) { // 遍历所有元素
for (j = 0; j < n - 1 - i; j++) { // 每次遍历都要比上一次少一个比较
if (arr[j] > arr[j + 1]) { // 如果当前元素大于下一个元素
// 使用指针交换位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 主函数演示如何使用
int main() {
int arr[] = {5, 2, 8, 1, 9}; // 你的乱序数组
int n = sizeof(arr) / sizeof(arr[0]);
printf("Before sorting: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
bubbleSort(arr, n);
printf("\nAfter sorting: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文