Linked List
The basic element of linked list is the link.
class Link<T> {
T value
Link<T> next
}
Then we can compose these links in main class that will represent the linked list.
class LinkedList<T> {
Link<T> first
int size
void add(T value) {
Link<T> link = new Link<>(value: value)
if (first) {
Link<T> temp = first
while (temp.next) {
temp = temp.next
}
temp.next = link
} else {
first = link
}
size++
}
int size() {
size
}
T find(T value) {
Link<T> temp = first
while (temp.next) { // until temp.next is not null
if (temp.value == value) {
return temp.value
}
temp = temp.next
}
return null
}
void insert(int index, T value) {
Link<T> temp = first
int i = 0
while (temp.next) {
if (index - 1 == i) {
Link<T> moving = temp.next
temp.next = new Link<T>(value: value)
temp.next.next = moving
size++
break
}
temp = temp.next
i++
}
}
}
Last updated