java.lang.Object
xyz.cofe.sort.SortInsert<Container,Element>
- Type Parameters:
Container- Тип конейнераElement- Тип элемента
- Direct Known Subclasses:
SortInsertDefault
public abstract class SortInsert<Container,Element>
extends java.lang.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() // и до конца
);
}
- Author:
- nt.gocha@gmail.com
-
Constructor Summary
Constructors Constructor Description SortInsert() -
Method Summary
Modifier and Type Method Description static <E> SortInsert<java.util.List<E>,E>createForList()Создание экземпляра для работы со спискомabstract Elementget(Container container, int position)Получение элемента в контейнереabstract voidinsert(Container container, int position, Element item)Вставка элемента в контейнерabstract intsortInsert(Container container, Element item, java.util.Comparator<Element> comp, int begin, int endex)Вставка сортировкой
-
Constructor Details
-
SortInsert
public SortInsert()
-
-
Method Details
-
insert
Вставка элемента в контейнер- Parameters:
container- контейнерposition- позиция в которую производится вставкаitem- Элемент
-
get
Получение элемента в контейнере- Parameters:
container- контейнерposition- позиция- Returns:
- Элемент
-
sortInsert
public abstract int sortInsert(Container container, Element item, java.util.Comparator<Element> comp, int begin, int endex)Вставка сортировкой- Parameters:
container- контейнерitem- элементcomp- компараторbegin- начало диапазона вставкиendex- конец диапазона вставки- Returns:
- позиция в которую произведена вставка
-
createForList
Создание экземпляра для работы со списком- Type Parameters:
E- Тип элемента списка- Returns:
- экземпляр
-