Container - Тип конейнераElement - Тип элементаpublic abstract class SortInsert<Container,Element> extends Object
Реализован метод sortInsert, сложнасть должна варьироваться от O( n * log n ) до O( n^2 ).
Пример 1:
// Список куда будут добавлены в порядке возрастания элементы
List<Integer> sortedList = new LinkedList<>();
// Функция сравнения
Comparator<Integer> intComparator
= (Integer a, Integer b) -> a < b ? -1 : (a==b ? 0 : 1);
// Функция сортировки
SortInsert sinserter = SortInsert.createForList();
// Генерация случайных элементов
Random rnd = new Random();
for( int i=0; i<50; i++ ){
sinserter.sortInsert( // вставка в список
sortedList, // список
rnd.nextInt(100), // случайное число
intComparator, // функция сравнения
0, // вставлять от начала списка
sortedList.size() // и до конца
);
}
| Constructor and Description |
|---|
SortInsert() |
| Modifier and Type | Method and Description |
|---|---|
static SortInsert<List,Object> |
createForList()
Создание экземпляра для работы со списком
|
abstract Element |
get(Container container,
int position)
Получение элемента в контейнере
|
abstract void |
insert(Container container,
int position,
Element item)
Вставка элемента в контейнер
|
int |
sortInsert(Container container,
Element item,
Comparator comp,
int begin,
int endex)
Вставка сортировкой
|
public abstract void insert(Container container, int position, Element item)
container - контейнерposition - позиция в которую производится вставкаitem - Элементpublic abstract Element get(Container container, int position)
container - контейнерposition - позицияpublic int sortInsert(Container container, Element item, Comparator comp, int begin, int endex)
container - контейнерitem - элементcomp - компараторbegin - начало диапазона вставкиendex - конец диапазона вставкиpublic static SortInsert<List,Object> createForList()
Copyright © 2017. All rights reserved.