【初学C语言】冒泡排序

#include<stdio.h>
int main()
{
 int a[10],i,j,k,l,t;
 for(i=0;i<10;i++)
 {
  scanf("%d",&a[i]);
 }
 
 //①由输入设备抓取10个数,填充数组。
 
 for(j=1;j<=10;j++)   
 {
  for(k=0;k<10-j;k++)
  {
   if(a[k]>a[k+1])
   {
    t=a[k];
    a[k]=a[k+1];
    a[k+1]=t;
   }
  }
 }
 
 //②冒泡算法的核心,由嵌套的两层循环实现。

 for(l=0;l<9;l++)
 {
  printf("%d ",a[l]);
 }
 printf("%d",a[9]);
 
 //③排序完成的数据输出。
 
 return 0;
}

先祭出代码。


分析:

开始分别定义了a[10],i,j,k,l,t几个变量,如果要给它们分分类的话,那么i,l为一组,他们分别为循环的控制变量来实现数组中数据的输入与输出。j,k为一组,他们来实现冒泡算法的核心表达。t为中间变量,为交换相邻两元素的跳板。

在此①③不作赘述,着重分析理解②。

你可能感兴趣的:(冒泡排序,C语言初学者)