Java学习笔记(四)

来源:互联网 发布:哪个软件可以视频剪辑 编辑:程序博客网 时间:2024/05/16 08:10

虽然已经有现成的sort方法可以用,但考虑到我连Java的基础语法都不熟练,加上归并排序还有求逆序对数的功能,我又按照c的模式照葫芦画瓢写了一个Java版的归并。目的是熟练一下Java,自测能够正常运行,但这样写Java是否规范还需要日后慢慢学习研究。

/*归并排序的Java实现*/import java.util.*;public class gbpx {    public static int[] number=new int[100];    public static int[] number1=new int[100];    public static void main(String[] args){        Scanner sc=new Scanner(System.in);        int n;        n=sc.nextInt();        for(int i=1;i<=n;i++){            number[i]=sc.nextInt();        }        gb(1,n);        //System.out.println(Arrays.toString(number));        //另一种输出方式        for(int i=1;i<=n;i++) {            System.out.print(number[i]);            System.out.print(" ");        }    }    public static void gb(int m,int n){        if(m==n) return;        int p,t;        p=(m+n)/2;        gb(m,p);        gb(p+1,n);        int i,j;        i=m;j=p+1;t=m;        while(i<=p&j<=n){            if(number[i]<number[j])                number1[t++]=number[i++];            else                number1[t++]=number[j++];        }        while(i<=p) number1[t++]=number[i++];        while(j<=n) number1[t++]=number[j++];        for(i=m;i<=n;i++)            number[i]=number1[i];        return;    }}
原创粉丝点击