选择排序......
选择排序
#include <stdio.h>
int fac(int a[],int begin,int end)
{ //在begin和end之间找最小数
int i,p=begin;
for (i=begin; i<=end; i++)
if(a[i]<a[p])
p=i;
return p;
}
int sel_sort(int a[],int n)
{ //排序函数
int cur,index,t;
for (cur=0; cur<n-1; cur++)
{
index=fac(a,cur,n-1);
if (index!=cur)
{
t=a[cur];
a[cur]=a[index];
a[index]=t;
}
}
return 0;
}
int main(int argc, const char * argv[]) {
// insert code here...
int x[]={12,2,-21,5,67,89,-12,34};
int i,n;
n=8;
sel_sort(x, n);
for (i=0; i<8; i++)
printf("%d:",x[i]);
return 0;
}
更多推荐
选择排序......
发布评论