Эдуард Достоевский
Ученик
(202)
1 год назад
Динамический связный список можно реализовать в Java с использованием классов Node и LinkedList. Класс Node представляет узел списка, который содержит значение и ссылку на следующий узел. Класс LinkedList содержит ссылку на головной элемент списка и реализует операции добавления, удаления и получения элементов.
Для реализации стека можно использовать LinkedList и методы addLast() и removeLast(). Например:
class Stack {
private LinkedList<Integer> list;
public Stack() {
list = new LinkedList<Integer>();
}
public void push(int value) {
list.addLast(value);
}
public int pop() {
return list.removeLast();
}
}
Для реализации очереди можно использовать LinkedList и методы addLast() и removeFirst(). Например:
class Queue {
private LinkedList<Integer> list;
public Queue() {
list = new LinkedList<Integer>();
}
public void enqueue(int value) {
list.addLast(value);
}
public int dequeue() {
return list.removeFirst();
}
}
Для реализации динамического связного списка можно использовать класс Node и методы addLast() и removeFirst() LinkedList. Например:
class Node<T> {
private T value;
private Node<T> next;
public Node(T value) {
this.value = value;
this.next = null;
}
public void setNext(Node<T> next) {
this.next = next;
}
public Node<T> getNext() {
return next;
}
public T getValue() {
return value;
}
}
class LinkedList<T> {
private Node<T> head;
public LinkedList() {
head = null;
}
public void addLast(T value) {
Node<T> newNode = new Node<T>(value);
if (head == null) {
head = newNode;
} else {
Node<T> current = head;
while (current.getNext() != null) {
current = current.getNext();
}
current.setNext(newNode);
}
}
public T removeFirst() {
if (head == null) {
throw new NoSuchElementException();
}
T value = head.getValue();
head = head.getNext();
return value;
}
}