如何将min heapify应用于字符串数组c#?

时间:2017-04-14 08:22:59

标签: c#

我想从A-Z和Z-A订购字符串单词的测试文件,其中一些带有标点符号。 我已经能够为int和double变量实现max heapify,但得到错误“Operator'>'不能应用于'string'和'string'类型的操作数 这是我目前的代码:

private static void Min_Heapify(string[] Array, int ArraySize, int Index)
    {
        int Left = (Index + 1) * 2 - 1;
        int Right = (Index + 1) * 2;
        int largest = 0;
        if (Left < ArraySize&& Array[Left] < Array[Index])
        {
            largest = Left;
        }
        else
        {
            largest = Index;
        }
        if (Right < ArraySize&& Array[Right] < Array[largest])
        {
            largest = Right;
        }
        if (largest != Index)
        {
            string temp = Array[Index];
            Heap[Index] = Array[largest];
            Heap[largest] = temp;
            Min_Heapify(Array, ArraySize, largest);
        }
    }

1 个答案:

答案 0 :(得分:1)

使用= 0:如果第一个&lt; > 0,它将返回if (Left < ArraySize && string.Compare(Array[Left], Array[Index]) < 0) 第二,if (Right < ArraySize && string.Compare(Array[Right], Array[largest]) < 0) 如果第一个=第二个,{{1}}如果第一个&gt;第二。所以,例如:

{{1}}

{{1}}