调用合并排序 C#

我写了一个合并排序程序,但是我在从另一个类调用它时遇到了问题。我需要帮助。出于某种原因,在我输入大小和最大数量后,输出中出现黑屏。我相信解决方案很简单,但我自己找不到解决方案 这是对数字进行排序的课程


 class MergeSort

        {

            public int[] Sort(int[] unsortedSequence)

            {

                int[] left;

                int[] right;

                int[] result = new int[unsortedSequence.Length];

            if (unsortedSequence.Length <= 1)

                return unsortedSequence;


            int midPoint = unsortedSequence.Length / 2;

            left = new int[midPoint];

            if (unsortedSequence.Length % 2 == 0)

                right = new int[midPoint];

            else

                right = new int[midPoint + 1];

            for (int i = 0; i < midPoint; i++)

                left[i] = unsortedSequence[i];


            int x = 0;


            for (int i = midPoint; i < unsortedSequence.Length; i++)

            {

                right[x] = unsortedSequence[i];

                x++;

            }

            left = Sort(left);

            right = Sort(right);

            result = merge(left, right);

            return result;

        }


        public static int[] merge(int[] left, int[] right)

        {

            int resultLength = right.Length + left.Length;

            int[] result = new int[resultLength];

            int indexLeft = 0, indexRight = 0, indexResult = 0;

            while (indexLeft < left.Length || indexRight < right.Length)

            {

                if (indexLeft < left.Length && indexRight < right.Length)

                {

                    if (left[indexLeft] <= right[indexRight])

                    {

                        result[indexResult] = left[indexLeft];

                        indexLeft++;

                        indexResult++;

                    }

                    else

                    {

                        result[indexResult] = right[indexRight];

                        indexRight++;

                        indexResult++;

                    }

                }

         

POPMUISE
浏览 133回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP