使用c语言实现用指向指针的方法对n个整数排序并输出,并将排序写成单独的一个函数
时间: 2024-09-24 19:16:50 浏览: 47
C语言实现3个数从小到大排序/输出的方法示例
在C语言中,我们可以使用冒泡排序算法来对整数数组进行排序,并通过指向指针的方式传递数组。首先,创建一个单独的函数`bubble_sort`接收一个整型指针数组`arr`和其大小`size`作为参数。下面是完整的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 冒泡排序函数,接受一个整数指针数组及其大小
void bubble_sort(int *arr, int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) { // 遍历数组
for (j = 0; j < size - 1 - i; j++) { // 每轮内继续遍历,直到找到最大值
if (*(arr + j) > *(arr + j + 1)) { // 检查相邻元素并交换位置
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
// 主函数,演示如何使用bubble_sort函数
int main() {
int n, *num_array;
printf("Enter the number of integers: ");
scanf("%d", &n);
// 动态分配内存
num_array = (int*)malloc(n * sizeof(int));
printf("Enter %d integers: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &num_array[i]);
}
bubble_sort(num_array, n); // 调用排序函数
// 输出排序后的结果
printf("Sorted integers: ");
for (int i = 0; i < n; i++) {
printf("%d ", num_array[i]);
}
printf("\n");
// 释放内存
free(num_array);
return 0;
}
阅读全文