Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 7

Работа с PriorityQueue

21.10.2013, 16:45. Показов 1329. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация такая. У меня есть класс Mark:
Java
1
2
3
4
5
6
7
8
9
public class Mark {
    float x;
    float y;
    
    Mark(float x, float y){
        this.x = x;
        this.y = y;
    }
}
Есть класс Lab2, в котором содержится main. Соль в том, что точки(они уже даны в варианте,их надо вшить в код) должны храниться в коллекции PriorityQueue(приоритет никак мацать не нужно, просто создать коллекцию). Происходит такая вещь: добавляется первая точка, создается вторая, а дальше все ломается. Не могу понять, в чем дело, вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    public static void main(String[] args) {        
       Queue<Mark> Marks = new PriorityQueue<Mark>();      
       Mark p = new Mark(5,3);    
       Marks.add(p);        
       p = new Mark(1, -2);        
       Marks.add(p);        
       p = new Mark(3,-3);
       Marks.add(p);
       p = new Mark(2,-1);
       Marks.add(p);
       p = new Mark(-3,-3);
       Marks.add(p);
       p = new Mark(-2,-2);
       Marks.add(p);
       p = new Mark(-5,5);
       Marks.add(p);
       Scanner sc = new Scanner(System.in); 
       int R = sc.nextInt(); 
       Figure f = new Figure(R);        
       Iterator<Mark> iter = Marks.iterator();
        do{            
            System.out.println(f.Entrance(iter.next())); // Entrance(Mark m) - метод,возвращающий 1, если точка входит в заданную область и 0,если нет 
        }while(iter.hasNext());
Заранее благодарна за любую помощь)

Добавлено через 43 минуты
Значит так, проблема решена вот таким образом:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {
        Comparator<Mark> comparator = new Comparator<Mark>() {
    @Override
    public int compare(Mark o1, Mark o2) {  
        return 0;
    }
};
       Queue<Mark> Marks = new PriorityQueue<Mark>(2, comparator);         
       Marks.add(new Mark(5,3));                     
       Marks.add(new Mark(1, -2));
       Marks.add(new Mark(3,-3));      
       Marks.add(new Mark(2,-1));      
       Marks.add(new Mark(-3,-3));       
       Marks.add(new Mark(-2,-2));       
       Marks.add(new Mark(-5,5));       
       Scanner sc = new Scanner(System.in); 
       int R = sc.nextInt(); 
       Figure f = new Figure(R);        
       Iterator<Mark> iter = Marks.iterator();
        do{            
            System.out.println(f.Entrance(iter.next()));
        }while(iter.hasNext());
оказывается,очереди непременно нужен компаратор,даже если он не нужен тТ такие пироги,поправьте,если я неправа
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2013, 16:45
Ответы с готовыми решениями:

PriorityQueue
Почему на экран получил такой странный вывод ? Где первый вошел - первый вышел ? PriorityQueue&lt;Integer&gt; q = new...

Очередь с приоритетом (PriorityQueue)
Как реализовать ту самую &quot;Очередь с приоиритетом&quot; и как задавать сам приоритет.Где ячейка содержит два поля и нам надо по определенному...

Кастомные compareTo в PriorityQueue
Переопределил compareTo для своего вспомогательного класса Edge. Теперь, при добавлении очередного Edge в мою приоритетную очередь,...

1
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
21.10.2013, 16:51
реализуйте интерфейс Comparable в классе Mark

Добавлено через 29 секунд

Не по теме:

апередун :p

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.10.2013, 16:51
Помогаю со студенческими работами здесь

Алгоритм Дейкстра(PriorityQueue)
Нашел в сети реализацию алгоритма Дейкстры через очереди с приоритетами, немного переделал, но не могу понять как вывести сам...

Разработать класс PriorityQueue - очередь с приоритетами
Прошу помочь с задачей на языке С#.Работаю в Visual Studio2017 . Консольное приложение С# Разработать класс PriorityQueue -...

Как происходит удаление элементов в PriorityQueue?
Правильно ли я понимаю, что в Java в качестве структуры данных в PriorityQueue используется бинарная куча, а конкретно реализация max-heap?...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми элементами управления(toolbox).И если...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт преподавания не обязателен, главное чтобы вы не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru