Size: a a a

Javanese Questions

2020 March 25

S

Shamil in Javanese Questions
Мое слишком костыльное
источник

QH

Quantum Harmonizer in Javanese Questions
pop() для начала
источник

МТ

Максим Таранюк in Javanese Questions
Ой, да, там поп должен быть.
источник

МТ

Максим Таранюк in Javanese Questions
Я уже по 500 раз переписывал тот метод.
источник

МТ

Максим Таранюк in Javanese Questions
Сейчас его по быстрому с 0 написал то что рабочее, а так поп и все остальное присутствует. Повторюсь, когда видим дальше закрытый тег, оно их сравнивает понимает что что-то не так и пропускает закрытый. Я думаю нужно сделать точно так же но с открытым. Тем который в стеке.
источник

МТ

Максим Таранюк in Javanese Questions
Но КАК
источник

S

Shamil in Javanese Questions
Если у тебя закрывающийся тег, то тебе надо пройтись по стеку и найти твой открывающийся тег, для этого можно времени складывать элементы в временный массив, либо изначально использовать двухсвязный список
источник

QH

Quantum Harmonizer in Javanese Questions
Не всё так просто. Что должно произойти с <p>текст</b></p>? Мне кажется, что должно вывестить предупреждение про неправильный </b>, но </p> должен успешно сняться со стека.
источник

МТ

Максим Таранюк in Javanese Questions
Quantum Harmonizer
Не всё так просто. Что должно произойти с <p>текст</b></p>? Мне кажется, что должно вывестить предупреждение про неправильный </b>, но </p> должен успешно сняться со стека.
Когда не правильный тег закрытый мы просто его пропускаем и смотрим дальше.
источник

МТ

Максим Таранюк in Javanese Questions
Но если блин он будет открытым, потом он окажется на вершине стека. Оно сравнит вершину с тем что дальше и скажет фолс.
источник

QH

Quantum Harmonizer in Javanese Questions
Да! Поэтому если хочешь во что бы то ни стало не падать, нужно уметь закрыть столько тегов, сколько потребуется, пока не встретишь нужный.
источник

МТ

Максим Таранюк in Javanese Questions
Не правильный открытый тег попадет на вершину, и встретит закрывающийся.
как мне сказать что неправильный именно тот что в стеке?

пример

<1><0></1>  в стеке будет 0, оно сравнит с </1> и его пропустит. Пропустит </1>. А дальше не пойдет так как пусто.

может как-то придумать что бы если не совпали элементы оно проверяло предидущий со следующим?
источник

QH

Quantum Harmonizer in Javanese Questions
Максим Таранюк
Не правильный открытый тег попадет на вершину, и встретит закрывающийся.
как мне сказать что неправильный именно тот что в стеке?

пример

<1><0></1>  в стеке будет 0, оно сравнит с </1> и его пропустит. Пропустит </1>. А дальше не пойдет так как пусто.

может как-то придумать что бы если не совпали элементы оно проверяло предидущий со следующим?
> закрыть столько тегов, сколько потребуется, пока не встретишь нужный.
источник

МТ

Максим Таранюк in Javanese Questions
Quantum Harmonizer
> закрыть столько тегов, сколько потребуется, пока не встретишь нужный.
не понял?)
источник

МТ

Максим Таранюк in Javanese Questions
что мне нужно закрыть?
источник

QH

Quantum Harmonizer in Javanese Questions
встретил </1> — закрываешь (pop) все теги, пока стек не закончится или пока не закроешь <1>
источник

МТ

Максим Таранюк in Javanese Questions
Я тоже так думал. Но почему-то я не могу это реализовать.
источник

МТ

Максим Таранюк in Javanese Questions
Рекурсивным методом?
источник

МТ

Максим Таранюк in Javanese Questions
или циклом обычным?
источник

QH

Quantum Harmonizer in Javanese Questions
циклом
источник