本題要求實現一個用選擇法對整數數組進行簡單排序的函數。
函數接口定義:
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
void sort( int a[], int n )
{
int temp,k,min,i;
for(k=0;k<n-1;k++){
min=k;
for(i=k+1;i<n;i++)
if(a[i]<a[min])
min=i;
temp=a[min];
a[min]=a[k];
a[k]=temp;
}
}