标签:冒泡排序 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为中间变量,为交换相邻两元素的跳板。
在此①③不作赘述,着重分析理解②。
本文出自 “我有一只汪宇宇” 博客,请务必保留此出处http://kayser.blog.51cto.com/11061986/1730273
标签:冒泡排序 c语言初学者
原文地址:http://kayser.blog.51cto.com/11061986/1730273