![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Pawl |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: 7 Всего: 28 |
Доброго времени суток! Тут поднимался вопрос по PriorityQueue, и мне стало любопытно, как эта штука работает. В доке нашел, что
То есть, в этом коде
Но он почему-то такой:
Может, кто подскажет, почему тут не наблюдается natural ordering? Спасибо! -------------------- В действительности всё совсем не так, как на самом деле |
||||||||
|
|||||||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Потому что внутри PriorityQueue, скорее всего, построена на куче. А natural ordering будет если последовательно элементы вытаскивать.
Это сообщение отредактировал(а) Stolzen - 30.1.2012, 12:26 |
|||
|
||||
| Pawl |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: 7 Всего: 28 |
Это как? Если пулом, то нет - я в коде выше добавил
-------------------- В действительности всё совсем не так, как на самом деле |
||||
|
|||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
[5, 5, 6, 9, 9, 10, 10] Добавлено через 1 минуту и 15 секунд Сортировка кучей именно так и работает - с помощью последовательного вытаскивания из кучи элементов |
|||
|
||||
| Pawl |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: 7 Всего: 28 |
Спасибо! Понятно теперь, где собака порылась!
-------------------- В действительности всё совсем не так, как на самом деле |
||||
|
|||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Ну вам же не отсортировать нужно. А куча очень удобно подошла на роль коллекции, лежащей в основе под очередью с приоритетом - так как в очереди обычно важен самый первый элемент, а в куче это как раз минимальный/максимальный (т.е. с наивысшим приоритетом).
Это сообщение отредактировал(а) Stolzen - 30.1.2012, 16:51 |
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: 7 Всего: 28 |
Благодарю, кое-что для себя с Вашей помощью прояснил.
-------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |