基本思想:在要排序的一组数中,对当前还未排好序的数,对自上而下对相邻的两个数依次进行比较和调整,让大数下移,小数上冒。
M[5]={10,2,3,21,5}
进行大到小排序
第一轮10,3,2,21,5 10,3,21,2,5 10,3,21,5,2
第二轮10,21,3,5,2 10,21,5,3,2
第三轮21,10,5,3,2
#include<stdio.h>
int main()
{
int M[5] = { 10,2,3,21,5 };
int max = 0;
int i, j;
for (j = 5; j > 1; j--)
{
for (i = 0; i < j; i++)
{
if (M[i+1] > M[i])
{
max = M[i+1];
M[i+1] = M[i];
M[i] = max;
}
}
}
for (i = 0; i < 5; i++)
{
printf("%d ", M[i]);
}
printf("\n");
return 0;
}