每次把最大的元素移动到需要排序数组的尾部,同时把尾部下标不断地移动到前面,在这个过程中不断地比较与交换途中的每两个元素的位置。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
void BubbleSort(int arr[],int len)
{
int i,j;
int tem;
for(i=len-1;i>0;i--)
{
for(j=0;j<i;j++)
{
if(arr[j]>arr[j+1])
{
tem = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tem;
}
}
}
}