定义:
进行第一趟排序,第一个元素和第二个元素进行比较,将较大的放在第二个元素的位置上
然后第二个和第三个元素进行比较,将较大的放在第三个元素的位置上。。依次类推,直到
第一趟排序结束,最大的元素就在最后一个位置了。
然后进行第二趟排序,第一个元素和第二个元素进行比较,将较大的放在第二个元素的位置
上然后第二个和第三个元素进行比较,将较大的放在第三个元素的位置上。。依次类推,直
到第二趟排序结束,第二大的元素就在倒数第二个位置上了。。
依次类推
直到整个数据有序。
冒泡排序动图:
![](https://img-blog.csdnimg.cn/img_convert/b5d8d3bebbe51e60e27a25ca809985e4.gif)
题目:将3,95,4,64,78,2,1按照从小到大排序:
代码部分:
#include<stdio.h>
#include<string.h>
int main (int argc, const char *argv[])
{
int a[]={3,95,4,64,78,2,1};
int t,i,j;// t用来交换两个数的,i控制外层循环,j 控制内存循环;
for(i=0;i<7;i++){ //外循环
for(j=0;j<7;j++){ //内循环
if(a[j]>a[j+1]){
t=a[j]; //交换位置
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(j=0;j<7;j++) //输出
printf("%d\n",a[j]);
return 0;
}
输出结果:
![](https://img-blog.csdnimg.cn/img_convert/0e91d008a8e3a65009fa6445036fc734.png)