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