冒泡排序(BubbleSort)算法的基本思想,依次比较相邻的两个数,将小数放在前面,大数放在后面(此时按升序排列,若按降序排列则反之),如此继续,这样最后一个数是最大的数。重复以上过程做第二趟,这次考察范围比上次少了一个,因为第一趟排序已经将最大的数放在最后,不需再比较。如此下去,若n个待排序数,共需要做n-1趟就完成排序了。
算法的复杂度为O(n^2). 效率并不是很高。。。
对于以下数据 :8 4 3 9 6 2,排序过程如下:
Ps:照片竟然不能超过2M.....
代码实现如下:
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
int temp;
if(a[j+1]<a[j])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}