Поэтому мне нужно найти структуру данных для этой ситуации, которую я опишу: это не моя проблема, но объясняет аспект структуры данных, который мне нужен более кратко: у меня армия, состоящая из взводов.В каждом взводе есть количество мужчин и звание (самый высокий - лучший).Если бы враг напал на мою армию, он убил бы немного МОЩНОСТИ моей армии, начиная с самого слабого взвода и работая там, где требуется (мощность взвода) количество силы, чтобы убить каждого солдата из взвода.
Я мог легко смоделировать врагов, нападающих на меня, заглядывая и выталкивая элементы из моей приоритетной очереди взводов, упорядоченной по номеру ранга, но это не то, что мне нужно делать.Мне нужно, чтобы у врагов была возможность видеть всех солдат, которых они убьют, если они нападут на меня, без фактической атаки, то есть без фактического удаления элементов из моей очереди приоритетов (если я реализовал это как pq).
Sidenote: Java PriorityQueue.Iterator () печатает элементы в случайном порядке, я знаю, что итератор - это все, что мне нужно, просто к сведению.
Проблема в том, что если я реализовал это как pq, я могу видеть тольковерхний элемент, так что мне нужно было бы расстегнуть взводы, как если бы они умирали, а затем оттолкнуть их назад, когда мысль об атаке будет рассчитана.Я мог бы также реализовать это как связанный список или массив, но вставка занимает слишком много времени.В конечном счете, я бы хотел использовать очередь с приоритетами, мне просто нужна возможность просмотреть либо элемент (выбрать индекс) из pq, либо чтобы каждый объект в pq имел указатель на следующий объект в pq, напримерсвязанный список.
Эта мысль о поддержке указателей с pq, как связанный список, возможна в PriorityQueue java?Это реализовано для меня где-нибудь в PriorityQueue, о котором я не знаю?Реализуется ли индекс?Есть ли другая структура данных, которую я могу использовать, которая может лучше служить моей цели?Реально ли мне найти исходный код Java PriorityQueue и переписать его на моем компьютере, чтобы поддерживать эти указатели в виде связанного списка?Любые идеи очень приветствуются, не совсем уверен, какой путь я хочу выбрать на этом.