#include <stdio.h>
int main()
{
int i,j,k,m;
int a[8]={49,38,65,97,49,13,27,76};
int b=0;

for(i=0;i<8;i++)
{
for(j=0;j<i+1;j++)
{

if(i!=j)
{
//b++;
// printf("%d\n",b);
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}



}
// for(m=0;m<8;m++)
// {
// printf("%d ",a[m]);
// }
// printf("\n");


}

for(i=0;i<8;i++)
{
printf("%d ",a[i]);
}


}

今天研究排序算法时,不小心忘记怎么写了,随意写的,一时居然成功了。
例如,49,38,65,97,49,13,27,76
第一次循环,不作比较。
第二次,与一个数字比较。不与自身比较。
38,49,65,97,49,13,27,76 38 与 49 交换
第三次,与两个数字比较。
38,49,65,97,49,13,27,76
第四次,与三个数字比较。
38,49,65,97,49,13,27,76
第五次,与四个数字比较。
38,49,49,97,65,13,27,76 49与65交换
38,49,49,65,97,13,27,76 65与97交换
第六次,与五个数字比较。
13,49,49,97,65,38,27,76 38与13交换
13,38,49,65,97,49,27,76 49与38交换
13,38,49,49,97,65,27,76 65与49交换
13,38,49,49,65,97,27,76 97与65交换
第七次,与六个数字比较。
13,27,49,49,65,97,38,76 38与27交换
13,27,38,49,65,97,49,76 49与38交换
13,27,38,49,49,97,65,76 65与49交换
13,27,38,49,49,65,97,76 97与65交换
第八次,与七个数字比较。
13,27,38,49,49,65,76,97 97与76交换

结果 13,27,38,49,49,65,76,97