快速排序算法的应用

来源:互联网 发布:php调用百度地图api 编辑:程序博客网 时间:2024/05/16 05:16

问题描述:

       设A[1...n]是一个具有n个不同元素的数组。若i<j且A[i]>A[j],则数偶(i,j)称为A的一个逆序。例如,序列A=<2,3,8,6,1>中<1,5>,<2,5>,<3,5>,<4,5>,<3,4>是5个逆序,这是因为A[1]=2>1=A[5],A[2]=3>1=A[5],A[3]=8>1=A[5],A[4]=6>1=A[5],A[3]=8>6=A[4].本题就是要计算给定数组A[1...n]中逆序的个数。问题形式化为:

输入:数组A=<A[1],A[2],...A[N]>。

输出:A的逆序个数。

算法描述:

应用快速排序法的原理:查找比自己大的数,查到就整体后移,否则插入该位置。

    public static int insertionSort(int[] a){
        int count=0;
        int i,j,key,n=a.length;
        for(j=1;j<n;j++){
            key=a[j];
            i=j-1;
            while(i>=0&&a[i]>key){
                a[i+1]=a[i];
                i--;
                count++;
            }
            a[i+1]=key;
        }
        return count;
        
    }

其中返回的count的值就是我们要求的结果

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕3个月血糖高怎么办 怀孕6个月血糖高怎么办 孕29周血糖高怎么办 餐后血糖偶尔高怎么办 歺后血糖9.8高怎么办 怀孕5个月血糖高怎么办 歺后2小时血糖高怎么办 怀孕餐后血糖高怎么办 老人餐后血糖高怎么办 血糖高尿糖不高怎么办 小孩鼻子不通气怎么办特效方法 婴儿20天不大便怎么办 新生儿8天没大便怎么办 新生儿2天没大便怎么办 新生儿4天没大便怎么办 2岁宝宝便秘严重怎么办 婴儿7天没有大便怎么办 新生儿6天没大便怎么办 大便带鲜血 不疼怎么办 宝宝发烧到39度怎么办 肛裂大便出鲜血怎么办 拉大便有血怎么办啊 长痔疮拉大便血怎么办 病人卧床太久不解大便怎么办 宝宝拉泡沫便便怎么办 孩子拉肚子怎么办呢有好办法吗 2岁宝宝大便带血怎么办 十个月宝宝肛裂怎么办 大便时拉出血怎么办啊 2岁宝宝大便干燥怎么办 5岁儿童大便干燥怎么办 九个月宝宝平血怎么办 6个月宝宝肛裂怎么办 3岁儿童大便干燥怎么办 外痔疮出血了该怎么办 外痔疮流血了怎么办呢 外痔疮破了出血怎么办 拉稀拉的肛门疼怎么办 大人屁股沟裂了怎么办 肛门痛大便有血怎么办 肛裂出血几天了怎么办