C语言入门:冒泡排序(代码实现,而不是排序方法阐述)

时间:2022-07-09 20:00:43

本文适用于理解排序方法思路   而不清楚代码如何实现的C语言入门者


流程图(代码流程)


C语言入门:冒泡排序(代码实现,而不是排序方法阐述)

//冒泡排序,这里以6个数的排序为例
#include <stdio.h>
int main (void)
{
int T,a[6],i,j,mid; //T为优化参量
printf("请输入需要排序的6个数\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++) //6个数字做5次循环操作
{
for(j=0;j<5-i;j++) //第i次排序的最后i个是排好的
{
T=1;
if(a[j]>a[j+1]) //两个数中,大的放后面
{
T=0;
mid=a[j];
a[j]=a[j+1];
a[j+1]=mid;
}
}
if(T) //如果T为1,表明数列已排列完成
break; //无需再执行后面的循坏
}
printf("排序好的6个数为:\n");
for(i=0;i<6;i++)
printf("%d,",a[i]);
printf("\n");
return 0;
}