07
Май
2016

Слияние отсортированных массивов. Ошибка реализации

Слияние двух отсортированных массивов, на хабрахабре есть ссылка на курс там есть пример , но с ошибкой, задача устранить ошибку, я как считаю правильным её устранил, ссылка на пример вот:

https://www.youtube.com/watch?v=DUGe1bZxXnk&index=5&list=PLoij6udfBncjnzOYE12-oKjz3HNPHEr9X

Код:

public class Merger {
    public static void main(String[] args) {

         int[] left = {2, 7, 9};
         int[] right = {0, 2, 4};

         int[] result = new int [left.length + right.length];

         int leftIndex = 0;
         int rightIndex = 0;

         while (leftIndex + rightIndex !=result.length){
             if( left[leftIndex] < right[rightIndex]){
                 result[leftIndex + rightIndex] = left[leftIndex++];
                 if (leftIndex > left.length){   \\моё решение
                     leftIndex--;                \\моё решение
                 }
             }else{
                 result[leftIndex + rightIndex] = right[rightIndex++];
                 if(rightIndex > right.length){  \\моё решение
                     rightIndex--;               \\моё решение
                 }
             }
         }
         for(int i = 0; i <  result.length; i++) {
                System.out.print(result[i] + "  ");  
         }
    }
}

Алгоритм такой же как здесь:

Упорядочивание списка упорядоченных массивов в один

Источник: https://ru.stackoverflow.com/questions/521219/%D0%A1%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5-%D0%BE%D1%82%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%BE%D0%B2-%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8

Тебе может это понравится...

Добавить комментарий