Умножение узла (Node)

371
01 ноября 2017, 01:27

Мне нужно умножить узел (Node) в таком порядке: получаемый узел это 1 2 3 4 5 а узел после выполнения метода имеет такой вид 1 2 3 4 5 1 2 3 4 5. Написал метод: выдаёт бесконечный узел который увеличивается сам по себе. При этом предыдущее действие перед распечаткой завершилось. Как мне решить данную задачу?

Код входит в бесконечный цикл:

public static void tr12(Node<Integer> n1) {
    Node<Integer> p = n1;
    while (p.hasNext()) {
        p = p.getNext();
    }
    Node<Integer> p2 = new Node<Integer>(n1.getValue(), n1.getNext());
    while (p2 != null) {
        Node<Integer> temp = new Node<Integer>(p2.getValue());
        p.setNext(temp);
        p = p.getNext();
        p2 = p2.getNext();
    }
    print(p2);
}
Answer 1

Вы каждый раз добавляете элемент в конец, берёте следующий и повторяете бесконечно этот цикл.

  1. Нужно перед началом всех этих добавлений запомнить последний элемент.
  2. В цикле по добавлению элементов проверять текущий элемент на равенство с тем последним. Это будет условием выхода.

    public static void tr12(Node<Integer> n1) {
        Node<Integer> p = n1;
        while (p.hasNext()) {
            p = p.getNext();
        }
        Node<Integer> pLast = p;
        Node<Integer> p2 = new Node<Integer>(n1.getValue(), n1.getNext());
        while (p2 != null) {
            Node<Integer> temp = new Node<Integer>(p2.getValue());
            p.setNext(temp);
            p = p.getNext();
            if (p2 == mPlast)
                break;
            p2 = p2.getNext();
        }
        print(p2);
    }
    
READ ALSO
UDP протокол, client-server

UDP протокол, client-server

Здравствуйте, я делал чат через сокеты Java, клиент - на Андроиде, сервер - на компе (IntelliJIdea)Делал через простые сокеты: ServerSocket, Socket

237
Android Java, скриншот всего экрана

Android Java, скриншот всего экрана

Здравствуйте, делаю проект - нужно сделать скриншот экрана, при этом не скриншот View, как везде в интернете написано, а скриншот именно всего...

212
Использование ORM Realm с RecylerView

Использование ORM Realm с RecylerView

Доброго времени сутокОсваиваю ORM Realm

293