选择排序(Selection Sort)

王朝c/c++·作者佚名  2006-01-06
窄屏简体版  字體: |||超大  

选择排序(Selection Sort)

选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将ai,…,an中最小者与ai交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。

直接选择排序:

void docr(float *in,int count)

{

int i;

int j;

int x=0;

float temp;

for(i=0;i<count;i++)

{

temp=*(in+i);

x=i;

for(j=i;j<count;j++)

{

if(*(in+j)<temp)

{

temp=*(in+j);

x=j;

}

}

*(in+x)=*(in+i);

*(in+i)=temp;

}

}

总移动次数:3(n-1)

比较次数:n(n-1)/2 

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航