冒泡排序
冒泡排序
简介
冒泡排序(Bubble Sort),是一种较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
算法原理
在一个长度为n的数组中,第一次遍历,从数组头部开始,比较相邻两个元素的大小,如果a[i]>a[i+1]就交换两个元素。直到一次遍历结束,找到一个最大的元素,在数组的尾部(a[n-1])。然后进行下一次遍历,找到最大的元素,在数组尾部(a[n-2])。依次类推,直到数组变为有序的。
代码实现
public static int [] BubbleSort(int[] a )
{
for(int i=0;i<a.length-1;i++)
{
for(int j=0;j<a.length-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return a;
}
外循环控制第几次遍历,内循环控制元素交换位置。外循环进行一次,内循环循环的次数就减少一次,因为后i个元素都是有序的。

浙公网安备 33010602011771号