C语言使用指针对整数排序
时间: 2024-12-24 14:35:30 浏览: 11
在C语言中,对整数数组进行排序通常可以使用库函数如`qsort()`,它是一个通用的快速排序算法的实现,需要配合指针来操作数组元素。如果你想手动实现排序,例如使用冒泡排序、选择排序或插入排序,也可以通过指针遍历数组并交换元素位置来进行。
这里以冒泡排序为例,你可以创建一个指针指向整数数组,并通过索引来访问和比较相邻元素:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) { // 使用指针比较元素
swap(&arr[j], &arr[j + 1]);
}
}
}
}
int main() {
int numbers[] = {5, 3, 8, 1, 9};
int length = sizeof(numbers) / sizeof(numbers[0]);
bubble_sort(numbers, length);
printf("Sorted array: ");
for (int i = 0; i < length; i++) {
printf("%d ", numbers[i]); // 使用指针打印数组元素
}
return 0;
}
```
在这个例子中,`swap()`函数接受两个指针作为参数,`bubble_sort()`函数则是通过指针遍历整个数组并对相邻元素进行比较和交换。
阅读全文
相关推荐


















