package com.lin.sort;
/**
* @version 创建时间:2016-8-10 上午10:41:52
* 类说明 :冒泡排序
*
* 基本思想:
* 首先在n个元素中,若ai>ai+1(i=1..n-1)则交换,得到一个最大元素放于an;其次在n-1个元素中,
* 若ai>ai+1(i=1..n-2)则交换,这样得到的一个次大元素放于an-1,以此类推,直到选出n-1个元素,排序完成。
*
* 冒泡排序算法稳定,O(1)的额外的空间,比较和交换的时间复杂度都是O(n^2),自适应,对于已基本排序的算法,时间复杂度为O(n)。
*
*/
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {23,43,56,2,12,56,78};
for (int i = 0; i < arr.length - 1;i++){
for (int j = 0;j < arr.length - 1 - i;j++){
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j ] = arr [j+1];
arr[j+1] = temp;
}
}
}
for (int k: arr) {
System.out.print(k+" ");
}
}
}
排序算法之冒泡算法
于 2017-08-30 13:44:06 首次发布