<pre name="code" class="cpp">#include <stdio.h>
void SelectSort(int a[],int len)
{
int i,j;
int temp=0;
int min=0;
for(i = 0 ;i < len-1;i++)
{
min = i;
//找到最小值
for(j = i+1;j<len;j++)
if(a[min] > a[j])
min = j;
//交换 a[j]和a[i],这里j就是找到最小数的索引
if(min != i)//如果a[i] = a[min]即a[i]就是最小值,这里判断min和i不相等即a[i]不是最小值
{
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
}
void print_array(int a[],int len)
{
for(int i = 0;i<len;i++)
printf("%d ",a[i]);
printf("\n");
}
int main(void)
{
int a[]={38,65,97,76,13,27,49};
int len = sizeof(a)/sizeof(a[0]);
SelectSort(a,len);
print_array(a,len);
return 0;
}
选择排序
最新推荐文章于 2015-10-01 21:30:40 发布