自下而上合并排序Java

时间:2016-11-29 22:42:16

标签: java algorithm sorting

我正在尝试在Java中实现合并排序。我知道我想要编写什么,但是我会感激一些指针,因为我无处可去。

  int left=0;
    int right;
    int end;
    DataItem tempArray[] = new DataItem[data.length];
    String key;
    int t1;
    int t2;

    for (int j = 1; j <= data.length; j = 2 * j)//j = gtoup size
    {


        for (left =0; end<=data.length; left= left+ j)
        {
            t1=left;
            t2 = right;
                for (int i=left; i<end; i++)//for all elements across both sets
                {
                    key = data[t1].key;
                    if ((t1<right) && (t2>=end) || key.compareToIgnoreCase(data[t2].key) <0)
                {
                    tempArray[i] = data[t1++]; 
                }
                else
                {
                    tempArray[i] = data[t2++];
                }
            }
                for (int k = 0; k <= tempArray.length; k++)
                {
                    tempArray[k] = data[k];
                }
               right = left+j;
               end = right+j;

    }
  }

以下是我的大部分代码。

我尝试做的是将当前左侧+组大小设置为正确。然后结束变为正确+当前组大小。当数组完全遍历时,我想要将组大小加倍并重新开始,直到groupsize为= end,因为这是排序完成的时候。

我应该看到的代码区域的任何指示都非常感激。

亲切的问候。

0 个答案:

没有答案