冒泡排序
-
将整个数组分为有序和无序两个部分。前者在右,后者在左。
-
开始时,整个数组都是无序的。有序部分没有元素
-
每次都要使无序部分的最大元素移动到有序部分第一个元素的左边。移动的方法是:依次比较相邻的两个元素,如果前面的比后面的大,就交换他们的位置。这样,大的元素就像水里的气泡一样不断往上浮。移动结束有序的部分就增加了一个元素。
-
知道无序的部分没有元素
void BubbleSort(int a[],int size)
{
for(int i=size-1;i>0;--i)
for(int j=0;j<i;++j)
if(a[j]>a[j+1])
{
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}