алгоритм поиска закрыть тег - PullRequest
0 голосов
/ 13 ноября 2010

Изображение http://img534.imageshack.us/img534/8542/aaagla.jpg
Хорошо бы привести пример (любой язык)

Ответы [ 2 ]

3 голосов
/ 13 ноября 2010

Традиционный способ сделать это с помощью стека. Нажмите, когда вы получите открытый тег, и нажмите, когда вы получите закрытый тег. Извлечение из пустого стека или наличие ненулевого стека в конце указывает на несовпадающие теги.

1 голос
/ 13 ноября 2010

псевдокод

input:  lineopen  (line having opening tag)
input:  text      (test as array of lines)
output: lineclose (line having closing tag)

line := lineopen
counter := 1
do
    line := line + 1
    if text[line] contains opening tag
        then counter := counter + 1
    if text[line] contains closing tag
        then counter := counter - 1
while counter > 0
lineclose := line
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...