排序算法之 Java冒泡算法

package net.qh.test.sort;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class Bubble {

public int[] sort(int[] arr){
  if ( arr == null || arr.length <= 1 ){
    return arr;
  }
  int length = arr.length;
  for(int i = 0;i < length;i++){
    for(int j = 0;j < length - i - 1; j++){
      if(arr[j] > arr[j + 1]){
        int temp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = temp;
      }
    }
  }
  return arr;
}

public static void main(String[] args){

  List<Integer> intList = new ArrayList<Integer>();
  for(int i = 0; i < 100000; i++){
    intList.add(i);
  }
  int[] arr = new int[intList.size()];
  for(int j = 0; j < arr.length; j++){
    arr[j] = intList.get(j);
  }
  for(int temp : arr){
    System.out.print(temp + ", ");
  }
  System.out.println("");
  long start = Calendar.getInstance().getTimeInMillis();
  arr = new Bubble().sort(arr);
  long end = Calendar.getInstance().getTimeInMillis();
  System.out.println("所需毫秒数" + (end - start));
  for(int temp : arr){
    System.out.print(temp + ", ");
  }
}

    /**
    1. 该排序算法是冒泡排序算法。
    2. 冒泡排序算法思想: 连续的扫描数组,每一次扫描,都会移动最大的数,慢慢接近于顶端。
    3. 使用: 冒泡排序最大的优点是简单,一般情况下冒泡排序当做其他排序算法的范例来研究。
        除非出于某种原因不能使用快速排序,由需要一个简单的小排序算法,就可以选择使用冒泡排序。
    4. 冒泡排序算法的阶: O(n^2), 是稳定排序。
    5. 实战测试:4核CPU和8G内存下,对100000个整型元素的数组排序, 逆序需要 9132 毫秒, 有序需要:8327毫秒

    */

}

转载于:https://www.cnblogs.com/aDiot/p/5232156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值