【初學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爲中間變量,爲交換相鄰兩元素的跳板。ide

在此①③不做贅述,着重分析理解②。spa

相關文章
相關標籤/搜索