Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Заполнение Vector с сохранением сортировки


Автор: Dims 2.5.2008, 22:38
При помощи метода Collections.sort можно отсортировать любой вектор.

А не быстрее ли будет формировать вектор так, чтобы каждый новый элемент сразу клался на своё место? Если быстрее, то нет ли такого готового метода, который бы двоичным поиском вычислял бы позицию, в которую следует поместить новый элемент?

Автор: Shaggie 3.5.2008, 09:17
Это задача не для вектора. Скорее всего тебе нужен TreeSet.

Автор: Dims 3.5.2008, 10:50
Но TreeSet не содержит метода get(), если я не ошибаюсь. А мне надо, чтобы потом отсортированный массив можно было адресовать по порядковым номерам.

Автор: Platon 3.5.2008, 10:58
Я думаю, вам подойдет PriorityQueue

Автор: Dims 3.5.2008, 11:33
Цитата(Platon @  3.5.2008,  10:58 Найти цитируемый пост)
Я думаю, вам подойдет PriorityQueue

Что-то я там тоже не вижу метода get(). Как же адресовать по номеру?

Автор: Platon 3.5.2008, 13:37
можно попробовать через итератор.

Автор: COVD 3.5.2008, 14:24
Цитата

А не быстрее ли будет формировать вектор так, чтобы каждый новый элемент сразу клался на своё место? 


быстрее не будет.


Цитата

.... нет ли такого готового метода, который бы двоичным поиском вычислял бы позицию, в которую следует поместить новый элемент?


Collections.binarySearch находит эту позицию в отсортированном листе. Этот метод можно применить "чтобы каждый новый элемент сразу клался на своё место".

Автор: Dims 7.5.2008, 01:08
Цитата(COVD @  3.5.2008,  14:24 Найти цитируемый пост)
Collections.binarySearch

О! Я был уверен, что такое есть, но почему-то проглядел... Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)