Linked list, printing looks destructive.

Alain De Vos devosalain at ymail.com
Mon Apr 25 09:38:05 UTC 2022


This program works ok, (but List is no Range)

```
class Node {
	int data;
	Node next;
}

class List {
	Node node=null;
	this(int[] AR){foreach(i ; AR)pushfront(i);}
	bool empty() const {return !node;}
	void popFront() {node=node.next;}
	float front() const {return node.data;}
	void pushfront(int data) {
		Node newnode=new Node();
		newnode.data=data;
		newnode.next=node;
		node=newnode;
	}
		
}//List

void main(){
	List l=new List([3,2,1]);
	Node backupnode=l.node;
	l.writeln();
	l.node=backupnode;//Restore state destroyed by writeln
	l.writeln();
}
```


More information about the Digitalmars-d-learn mailing list