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