这段代码是一个简单的选择排序算法。它定义了一个swap函数用于交换两个整数的值,定义了一个sort函数用于对一个整数数组进行排序。
在主函数main中,首先定义了一个整数数组array,并使用循环从标准输入中读取N个整数,并将它们存储到数组array中。
然后,调用sort函数对数组进行排序,传入的参数是数组的首地址和末地址的指针。
最后,使用循环遍历数组,将排序后的结果输出到标准输出中。
以下是添加了注释的代码:
#include <stdio.h>
#include <math.h>
#define N 10
// 交换两个整数的值
void swap(int *x,int *y){
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
}
// 对整数数组进行排序
void sort(int *p,int *q){
int *max,*s;
if (p==q)
return;
for (max = p ,s=p+1; s <= q ; ++s) {
if (*s>*max)
max=s;
}
swap(p,max);
sort(p+1,q);
}
int main(){
int i,array[N];
for (int i = 0; i < N; ++i) {
scanf("%d",&array[i]);
}
sort(array,&array[N-1]);
for (int i = 0; i < N; ++i) {
printf("%d ",array[i]);
}
return 0;
}