冒泡排序算法的运作如下:(从后往前)
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
#include<stdio.h> int main(){ int a[5]={5,32,12,542,-2};//定义一个有5个元素的数组 for(int i=1;i<=4;i++){ //执行n-1次,i从1开始. for(int j=0;j<5-i;j++){//每冒泡完一次后都会少一个数, if(a[j]>a[j+1]){ //从小到大 //只需要更改这里的'<''>'就可以调整是从小到大,还是从大到小 int t; //交换值的一个中介 t=a[j]; //将大的值赋给中介 a[j]=a[j+1];// a[j+1]=t; } } } for(int i=0;i<5;i++){//遍历输出看看是否排好序了 printf("%d ",a[i]); } return 0; }