22 lines
430 B
D
22 lines
430 B
D
struct SLinkedNode(T) {
|
|
T data;
|
|
typeof(this)* next;
|
|
}
|
|
|
|
void insertAfter(T)(SLinkedNode!T* listNode, SLinkedNode!T* newNode) {
|
|
newNode.next = listNode.next;
|
|
listNode.next = newNode;
|
|
}
|
|
|
|
void main() {
|
|
alias N = SLinkedNode!char;
|
|
|
|
auto lh = new N('A', new N('B'));
|
|
auto c = new N('C');
|
|
|
|
// Inserts C after A, creating the (A C B) list:
|
|
insertAfter(lh, c);
|
|
|
|
// The GC will collect the memory.
|
|
}
|