给出下序序列的冒泡排序法比较结果

来源:百度知道 编辑:UC知道 时间:2024/05/04 04:27:56
1,已知序列(17,18,60,40,7,32,73,65,85),请给出采用冒泡排序法对该序列作升序排序时的每一趟的结果。给出算法思想!
我知道百度里有一样的,但据分析是错的,所以请给出正确的答案!
一楼不是那样的吧,不是编程序,谢谢!

第一次做4次换位
60->40,60->7,60->32,73->65
得到 17,18,40,7,32,60,65,73,85

第二次做2次换位
40->7,40->32
得到 17,18,7,32,40,60,65,73,85

第三次做1次换位
18->7
得到 17,7,18,32,40,60,65,73,85

第四次做1次换位
17->7
得到 7,17,18,32,40,60,65,73,85

之后还做了五次,不进行换位.

思想:将相临的两个数比较,将小的调到前面

int a[9]={17,18,60,40,7,32,73,65,85},i,j,temp;
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{temp=a[j];a[j]+a[j+1];a[j+1]=temp;}
}
for(i=0;i<9;i++)/*有每次循环的输出*/
printf("%d %,a[i]);
}
有每次循环的输出

17,18,60,40,7,32,73,65,85
17,18,60,40,7,32,73,65,85
17,18,40,60,7,32,73,65,85
7,17,18,40,60,32,73,65,85
7,17,18,32,40,60,73,65,85
7,17,18,32,40,60,73,65,85
7,17,18,32,40,60,65,73,85
7,17,18,32,40,60,65,73,85