06. Двусвязный список
Связный список - это список, но построенный на основе двунаправленной очереди, а не массива.
Задание
Трудоёмкость
Это задание рассчитано на два урока, за него будет выставлено две оценки
Расширьте класс MyQueue
из предыдущего задания (использовать встроенные коллекции java
запрещается)
так, чтобы он стал списком:
Использовать встроенные коллекции java запрещается
void insert(int i, int v)
- добавляет элементv
по индексуi
, перед тем, как добавить новый элемент, все, начиная сi
-го сдвигаются на вправо, освобождаяi
-ю позицию под новый элемент. Если элемента с таким индексом ещё нет, возвращаетfalse
, в остальных случаяхtrue
boolean addAll(MyQueue myQueue)
- добавляет в конец все элементы из списка, полученного в аргументах.boolean insertAll(int index, MyQueue myQueue)
- добавляет все элементы из списка, полученного в аргументах по индексуi
. Перед тем, как добавить новый элемент, все, начиная сi
-го сдвигаются на вправо, освобождаяi
-ю позицию под новый элементint get(int index)
- получить значение элемента по индексуint indexOf(int v)
- возвращает индекс первого элемента, равного переданному в аргументах значению. Если такого элемента нет, то метод должен вернуть значение-1
int lastIndexOf(int v)
- возвращает индекс последнего элемента, равного переданному в аргументах значению. Если такого элемента нет, то метод должен вернуть значение-1
int set(int i, int v)
- задаёт новое значение элементу с индексомi
, возвращает старое значениеvoid sort()
- сортирует очередь по возрастанию
Очередь, построенная на массиве не засчитывается.
Все поля и методы должны иметь модификатор public