это чат gpt сделал public class LinkedList<T> {
private Node<T> head;
private int size;
private static class Node<T> {
T data;
Node<T> next;
Node(T data) {
this.data = data;
this.next = null;
}
}
public void add(T element) {
Node<T> newNode = new Node<>(element);
if (head == null) {
head = newNode;
} else {
Node<T> current = head;
while (
current.next != null) {
current =
current.next ;
}
current.next = newNode;
}
size++;
}
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("Index out of range: " + index);
}
Node<T> current = head;
for (int i = 0; i < index; i++) {
current =
current.next ;
}
return current.data;
}
public void remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("Index out of range: " + index);
}
if (index == 0) {
head =
head.next ;
} else {
Node<T> previous = head;
Node<T> current =
head.next ;
for (int i = 1; i < index; i++) {
previous = current;
current =
current.next ;
}
previous.next =
current.next ;
}
size--;
}
public int size() {
return size;
}
}
С помощью односвязного списка напишите реализацию LinkedList.
У пользователя должны быть доступны методы добавления элемента, получения элемента и удаления элемента из списк.
Заранее спасибо!