本题要求实现一个用选择法对整数数组进行简单排序的函数。 函数接口定义: void sort( int a[], int n ); 其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。 裁判测试程序样例: #include <stdio.h> #define MAXN 10 void sort( int a[], int n ); int main() { int i, n; int a[MAXN]; scanf("%d", &n); for( i=0; i<n; i++ ) scanf("%d", &a[i]); sort(a, n); printf("After sorted the array is:"); for( i = 0; i < n; i++ ) printf(" %d", a[i]); printf("\n"); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: 4 5 1 7 6 输出样例: After sorted the array is: 1 5 6 7 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
时间: 2024-01-12 10:05:18 浏览: 50
sort函数的常见用法用法
5星 · 资源好评率100%
我的回答如下:
```c
void sort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = a[i];
a[i] = a[minIndex];
a[minIndex] = temp;
}
}
}
```
这是一个简单选择排序算法的实现。算法的核心思想是每次从剩余未排序元素中选取最小值,并与当前位置交换。时间复杂度为 O(n^2)。
阅读全文