Реализация C++ двоичной "кучи"

Второй из них представляет собой простую закодированную строку запроса, которую можно проанализировать с помощью urllib.parse.unquote:

from urllib import parse
parse.unquote('q=score%3A%3E%3D100')

Первая сложнее, потому что это строка запроса, которая (ошибочно) содержит дважды закодированные сущности HTML , Вам нужно использовать html.unescape для их перевода:

import html
html.unescape(parse.unquote('q=score%3A%26amp%3Bgt%3B%3D100'))

Чтобы преобразовать версию 1 в версию 2, вы можете проанализировать, а затем перекодировать. Обратите внимание, вам нужно пропустить его через html.escape дважды ; первый переводит > в >, второй переводит в >. (Честно говоря, вам действительно стоит заняться исправлением того, что API ожидает от этого формата, он полностью не работает.)

data = parse.unquote('q=score%3A%3E%3D100')
parse.quote(html.escape(data))
7
задан Dan 13 April 2009 в 10:54
поделиться

3 ответа

Я думаю, std :: priority_queue - это то, что вы ищете.

18
ответ дан 6 December 2019 в 08:17
поделиться

См. Стандартный алгоритм C ++ make_heap ().

5
ответ дан 6 December 2019 в 08:17
поделиться

STL не имеет концепции (двоичных) деревьев, но есть методы, которые облегчают поддержание свойств кучи в наборе данных, таких как std :: make_heap, std :: sort_heap, std :: push_heap и так далее.

-1
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: