zoukankan      html  css  js  c++  java
  • lintcode:整数排序||

    题目

    给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。

    解题

    归并排序

    public class Solution {
        /**
         * @param A an integer array
         * @return void
         */
        public void sortIntegers2(int[] A) {
            // Write your code here
            if(A==null || A.length <=1)
                return;
            int low = 0;
            int high = A.length - 1;
            mergeSort(A,low,high);
                
        }
        public void mergeSort(int[] A,int low ,int high){
            if(low>=high)
                return;
            int mid = low + (high - low)/2;
            mergeSort(A,low,mid);
            mergeSort(A,mid+1,high);
            merge(A,low,mid,high);
            
            
        }
        public void merge(int[] A,int low,int mid,int high){
            int len = high - low + 1;
            int[] C = new int[len];
            int i = low;
            int j = mid + 1;
            int k = 0;
            while(i<=mid && j<= high){
                if(A[i]>A[j]){
                    C[k++] = A[j];
                    j++;
                }else{
                    C[k++] = A[i];
                    i++;
                }
            }
            while(i<=mid){
                C[k++] = A[i];
                i++;
            }
            while(j<=high){
                C[k++] = A[j];
                j++;
            }
            for(k=0;k<len;k++){
                A[low+k] = C[k];
            }
        }
    }
  • 相关阅读:
    Apache虚拟主机(VirtualHost)配置
    LAMP源码安装
    SUSE上配置SAMBA服务
    Linux下安装或升级Python 2.7
    HTML5,CSS3,JS绘制饼图
    Single Number
    Reverse Words in a String
    C++控制台日历
    百度JS破盗链
    腾讯前端突击队Ⅱ
  • 原文地址:https://www.cnblogs.com/bbbblog/p/5650784.html
Copyright © 2011-2022 走看看