Это является прямым из Документов Java:
Этот класс и его итератор реализуют все дополнительные методы интерфейсов Набора и Итератора. Итератор, обеспеченный в итераторе метода (), как гарантируют, не пересечет элементы приоритетной очереди ни в каком конкретном порядке. Если Вы нуждаетесь в заказанном обходе, рассматриваете использование Arrays.sort (pq.toArray ()).
Так в основном мой PriorityQueue хорошо работает, но распечатывание его на экран с помощью его собственного, созданного в toString (), метод заставил меня видеть эту аномалию в действии и задавался вопросом, мог ли кто-то объяснить отчего получается, что обеспеченный итератор (и используемый внутренне) не пересекает PriorityQueue в своем естественном порядке?
Пробовали ли вы HTML:: FormatRTF ? Я не использовал вывод RTF, но я использовал вывод обычного текста ( HTML:: FormatText ) и был им доволен.
-121--4378624- jQuery может декодировать последовательности JSON с помощью jQuery.parseJSON ()
.
Для кодирования, однако, я знаю только о плагине: jquery-json
-121--855671-Потому что базовая структура данных не поддерживает его. Двоичная куча упорядочена лишь частично, с наименьшим элементом в корне. При удалении этого элемента кучи переупорядочиваются таким образом, что следующий наименьший элемент находится в корне. Не существует эффективного упорядоченного алгоритма обхода, поэтому в Java его нет.
На первый взгляд, вероятно, он просматривает данные в том порядке, в котором они хранятся. Чтобы свести к минимуму время вставки элемента в очередь, обычно не все элементы хранятся в отсортированном порядке.
Ну, как сказано в Javadoc, так это и было реализовано. Очередь приоритетов, вероятно, использует двоичную кучу в качестве базовой структуры данных. Когда вы удаляете элементы, куча переупорядочивается, чтобы сохранить свойство кучи.
Во-вторых, неразумно привязываться к конкретной реализации (принудительная сортировка). С текущей реализацией вы можете просматривать ее в любом порядке и использовать любую реализацию.
Это будет звучать безумно, так как вы спрашиваете о «серьезных» вещах, таких как C++ и C (и «core linux API»), но вы можете подумать о строительстве в чем-то другом. Например:
И многие другие возможности, некоторые из которых позволяют работать на нескольких платформах одновременно.
Извините, если этот ответ совсем не тот, что вы ищете. «Реальными» ответами в Linux являются «выбор инструментария», что также вообще не является ответом:)
-121--4166985-Я думаю, что это то, что вы ищете. Kigg - общедоступное приложение ASP.NET MVC, которое было бы хорошей отправной точкой для того, что вы хотите. Вот url: http://www.codeplex.com/Kigg
Вы также можете найти сайт, который использует это здесь: http://dotnetshoutout.com/
По крайней мере, вы узнаете ASP.NET MVC рамки который является фантастическим.
-121--4407373-Двоичные кучи являются эффективным способом реализации очередей приоритетов. Единственная гарантия относительно порядка, который делает куча, это то, что предмет в верхней части имеет наивысший приоритет (может быть, это «самый большой» или «самый маленький» в соответствии с некоторым порядком). Куча - это двоичное дерево, которое имеет следующие свойства: Свойство Shape: дерево заполняется сверху вниз слева направо Свойство порядка: элемент на любом узле больше (или меньше, если наименьший имеет наивысший приоритет), чем два его дочерних узла. Когда итератор посещает все элементы, он, вероятно, делает это в порядке прохождения уровня, т.е. посещает каждый узел на каждом уровне по очереди, прежде чем перейти к следующему уровню. Поскольку единственной гарантией относительно порядка является то, что узел имеет более высокий приоритет, чем его дочерние узлы, узлы на каждом уровне не будут находиться в определенном порядке.