Iteratable single linked list of floats.
Alain De Vos
devosalain at ymail.com
Fri Apr 23 14:49:22 UTC 2021
Here a working code,
```
import std.stdio;
void main(){
struct List {
struct Node {
float f;
Node *next=null;
}
Node * root=null;
bool empty() const {return !root;}
void popFront() {root=root.next;}
float front() const {return root.f;}
void pushfront(float f) {
Node * newnode=new Node();
newnode.f=f;
newnode.next=root;
root=newnode;
}
void pushend(float f){
Node * newnode=new Node();
newnode.f=f;
Node *t=root;
if(t==null)
{t=newnode;}
else{
while(t!=null && t.next!=null)
{t=t.next;}
t.next=newnode;
}
}
void printall(){
Node *l=root;
for( ; l ; l=l.next){
writeln(l.f);
}
}
}
List * l=new List();
l.pushfront(2);
l.pushfront(1);
l.pushend(3);
l.pushend(4);
foreach(element; *l) writeln(element);
(*l).printall();
```
More information about the Digitalmars-d-learn
mailing list