如何使用java 8将我的合并排序实现转换为funtional-style?

时间:2017-05-28 12:45:23

标签: java sorting java-8

以下是我对合并排序算法的实现

private void mergeSort(Integer[] t,int low, int high)
{
    if(low<high)
    {
        int mid=(low+high)/2;
        mergeSort(t,low,mid);
        mergeSort(t,mid+1,high);

        merge(t,low,mid,high);
    }
}

private void merge(Integer[] t, int low, int mid, int high){
    Integer[] temp = t.clone();
    int i=low,j=mid+1,k=low;
    while(i<=mid && j<=high)
    {
        temp[k++] = t[i] < t[j] ? t[i++] : t[j++];
    }
    while(i<=mid)
        temp[k++] = t[i];
    while(j<=high)
        temp[k++] = t[j];

    System.out.println(Arrays.toString(temp));

 }

我正在考虑是否可以将其修改为纯函数式样式,例如使用java 8.在某处接近我们在Scala中的操作。

0 个答案:

没有答案