#include <stdio.h>
#include <stdlib.h>
// 选择排序函数
void selectionSort(int *arr, int n) {
int i, j, minIndex, temp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
int main() {
int n, i;
printf("请输入数组元素个数: ");
scanf("%d", &n);
// 动态内存分配创建整型数组
int *arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
printf("请输入 %d 个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 调用选择排序函数
selectionSort(arr, n);
printf("排序后的数组: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 释放动态分配的内存
free(arr);
return 0;
}