冒泡排序

冒泡排序

简介

冒泡排序(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个元素都是有序的。

posted @ 2017-07-18 23:45  Lee_Shuai  阅读(92)  评论(0)    收藏  举报