zoukankan      html  css  js  c++  java
  • 排序算法之 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毫秒

        */

    }

  • 相关阅读:
    网络请求侦听工具
    再转动画实现
    转如何解决EXC_BAD_ACCESS错误
    关于Iphone开发得一些案例及常用知识(转过来的参考用)
    用uiwebview打开pdf,word,excel
    转 iphone开发资料汇总(很多实用的东东)
    设置uiview背景图的方法之一
    给状态条加上图标的代码
    xcode 4 下找EXC_BAD_ACCESS错误原因
    linux&unix常用命令
  • 原文地址:https://www.cnblogs.com/aDiot/p/5232156.html
Copyright © 2011-2022 走看看