zoukankan      html  css  js  c++  java
  • 堆排序

    package my0410;
    
    public class HeapSort {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int data[]={0,9,2,8,7,6,5,4,3,2,1,1,3,2};
            heapSort(data);
            for(int i=0;i<data.length;i++){
                System.out.println(data[i]);
            }
        }
        public static void heapSort(int[] data){
            int i;
            for(i=data.length/2;i>0;i--){
                heapAdjust(data,i,data.length-1);
            }
            for(i=data.length-1;i>1;i--){
                swap(data,1,i);
                heapAdjust(data,1,i-1);
            }        
        }
    public static void heapAdjust(int[] data,int s,int m){
        int temp=data[s];
        int j;
        for(j=2*s;j<=m;j*=2){         
            if(j<m&&data[j]<data[j+1]){
                j+=1;
            }
            if(temp>data[j])
                break;
            data[s]=data[j];
            s=j;
            
        }
        data[s]=temp;    
    }
    public static void swap(int[] data,int i,int j){
        int temp=data[i];
        data[i]=data[j];
        data[j]=temp;
    }
    }
  • 相关阅读:
    web框架学习
    css上
    数据库
    线程
    反射以及部分内置方法
    排序函数sort() 和sorted() 之介绍
    类的绑定方法
    继承
    面向对象和类
    混淆矩阵、准确率、召回率
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4418512.html
Copyright © 2011-2022 走看看