Linked list, printing looks destructive.
Alain De Vos
devosalain at ymail.com
Mon Apr 25 15:56:05 UTC 2022
Indeed code below works,
```
import std.stdio: write,writeln;
class Node {
int data;
Node next;
}
class List {
Node node=null;
this(int[] AR){foreach(i ; AR)pushfront(i);}
void pushfront(int data) {
Node newnode=new Node();
newnode.data=data;
newnode.next=node;
node=newnode;
}//pushfront
int opApply(int delegate(typeof(Node.data)) dg) {
Node current = node;
while (current) {
if (dg(current.data)) return 1;
current = current.next;
}
return 0;
}//opApply
}//List
void main(){
List l=new List([3,2,1]);
foreach(element; l) writeln(element);
foreach(element; l) writeln(element);
}//main
```
More information about the Digitalmars-d-learn
mailing list