zoukankan      html  css  js  c++  java
  • 排序优化

    //排序减少对堆内存的访问以实现优化

    package com.hz.io.demo1;

    public class IOTest {
    static File f = new File("a.txt");
    public static void main(String[] args) {
    long start = System.currentTimeMillis();
    m5(20000);
    long stop = System.currentTimeMillis();
    System.out.println(" ===");
    System.out.println(stop-start);//872 895 897 //186 202 194
    }
    //排序优化后
    static void m5(int n){
    int[] arr = new int[n];
    for(int i=0; i<n; i++){
    arr[i] = (int) (n*Math.random());//随机生成n个元素的数组
    System.out.print(arr[i]+" * ");
    }
    //选择排序优化:减少堆内存的访问
    for(int i=0; i<arr.length-1; i++){
    int num = arr[i];
    int index = i;
    for(int j=i+1; j<arr.length; j++){
    if(num>arr[j]){
    num=arr[j];
    index=j;
    }
    }
    if(index!=i){
    int temp = arr[i];
    arr[i] = arr[index];
    arr[index] = temp;
    }
    }
    //遍历数组
    for(int x:arr){
    System.out.print(x+"-");
    }
    }
    static void m4(int n){//排序时间测试
    int[] arr = new int[n];
    for(int i=0; i<n; i++){
    arr[i] = (int) (n*Math.random());//随机生成n个元素的数组
    System.out.print(arr[i]+" * ");
    }
    //选择排序
    for(int i=0; i<arr.length-1; i++){
    for(int j=i+1; j<arr.length; j++){
    if(arr[i]>arr[j]){
    arr[i]^=arr[j];
    arr[j]^=arr[i];
    arr[i]^=arr[j];
    }
    }
    }
    //遍历数组
    for(int x:arr){
    System.out.print(x+"-");
    }
    }

    }//main

  • 相关阅读:
    052-240(新增70题2018)
    052-239(新增70题2018)
    052-238(新增70题2018)
    052-237(新增70题2018)
    052-236(新增70题2018)
    052-235(新增70题2018)
    Elasticsearch和Solr的区别
    单点登录流程图
    创建购物车需要考虑哪些因素?以及解决方案
    消息队列在项目中的应用
  • 原文地址:https://www.cnblogs.com/geryhz/p/14335949.html
Copyright © 2011-2022 走看看