八大排序算法之冒泡排序

package com.zyg.sort;

public class BubbleSortAlgorithm
{
	// 冒泡排序
	public static void bubbleSort(int a[], int len)
	{
		for (int i = 0; i < len; i++)
		{
			boolean flag = false;
			for (int j = len - 1; j > i; j--)
			{
				// 如果后面元素比元素值小,则交换,每趟排序能找出一个较小元素
				if (a[j] < a[j - 1])
				{
					// 交换
					swap(a, j, j - 1);
					flag = true;
				}
			}
			// 如果一趟排序没有进行交换,表示数组已经有序,提前结束排序过程
			if (!flag)
				break;
		}
	}
	
	// 交换数组元素
	public static void swap(int a[], int i, int j)
	{
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	}
	
	// 打印数组
	public static void printArray(int a[])
	{
		for (int i = 0; i < a.length; i++)
		{
			System.out.println(a[i]);
		}
	}
	
	public static void main(String[] args)
	{
		// 定义初始数组
		int a[] =
		{ 4, 3, 6, 7, 33, 15, 90, 65, 777, 5550 };
		// 进行冒泡排序
		bubbleSort(a, a.length);
		// 打印
		printArray(a);
	}
}

阅读更多
换一批

没有更多推荐了,返回首页