冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。
#includeint main() { int a[]={9,,1,5,8,3,7,4,6,2} ; int i,j,t; for(i=0;i<7;i++) printf("%d ",a[i]); printf("n"); for(i=0;i<7;i++) { for(j=i+1;j<7;j++) { if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } for(i=0;i<7;i++) { printf("%d ",a[i]); } }
这是最简单的写法,当然在实际运用中,我们通常把排序写成是一个函数来调用它。
#includevoid printArray(int *a,int num) { int i=0; for(i=0;i a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } } int main() { int i=0; int j=0; int t=0; int num=7; int a[]={9,1,5,8,3,7,4,6,2} ; num = 7; printArray(a,num); sortArray(a,num); printArray(a,num); }
这里定义了两个函数,一个用来输出数组,另外一个就是排序,两个代码运行结果都一样。
关于冒泡排序就是两个for循环,然后if语句判断相邻两个数字的大小,反序则交换,非常简单,适合新手。
希望对你有帮助。



