冒泡排序
依次遍歷數組
每次從頭遍歷數組將最大的值移動到最右端
代碼實現
[html]
package com.robert.paixu;
/**
* 冒泡排序
* 從小到大
* @author Administrator
*/
public class BubbleSortAlgorithm {
public static void main(String[] args)
{
int[] arrays = {1,9,2,8,3,7,4,5,0,10,18,11};
bubbleSort(arrays);
display(arrays);
}
/**
* 冒泡排序
* @param arrays
*/
private static void bubbleSort(int[] arrays)
{
int temp = 0;
for(int i=0;i<arrays.length-1;i++)
{
for(int j=0;j<arrays.length-i-1;j++)
{
if(arrays[j]>arrays[j+1])
{
temp = arrays[j];
arrays[j] = arrays[j+1];
arrays[j+1] = temp;
}
}
}
}
/**
* 顯示數組的值
* @param arrays
*/
private static void display(int[] arrays)
{
for(int i=0;i<arrays.length;i++)
{
System.out.print(arrays[i]+" ");
}
}
}
該算法的時間復雜度為:
在任何情況下,都為O(n^2)