From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC,XPRIO autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d4c0eb138f4953e2,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-01-01 15:08:18 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!fr.clara.net!heighliner.fr.clara.net!diablo.netcom.net.uk!netcom.net.uk!dispose.news.demon.net!demon!btnet-peer0!btnet!news5-gui.server.ntli.net!ntli.net!news11-gui.server.ntli.net.POSTED!not-for-mail Reply-To: "Liddle Feesh" From: "Liddle Feesh" Newsgroups: comp.lang.ada Subject: Non destructive summation of nodes (Linked List/FIFO Queue) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: Date: Tue, 1 Jan 2002 23:02:59 -0000 NNTP-Posting-Host: 213.105.185.39 X-Complaints-To: abuse@ntlworld.com X-Trace: news11-gui.server.ntli.net 1009926188 213.105.185.39 (Tue, 01 Jan 2002 23:03:08 GMT) NNTP-Posting-Date: Tue, 01 Jan 2002 23:03:08 GMT Organization: ntl Cablemodem News Service Xref: archiver1.google.com comp.lang.ada:18422 Date: 2002-01-01T23:02:59+00:00 List-Id: Hi, Firstly - thankyou to everyone (Larry Hazel, Gautier, Ed Falis, Michal Nowak, Machael Bode & others) for your kinds assitance in helping me take my first steps in the great language of Ada95. I am a little confused, however - at how to count the number of items in a linked list, without destroying the items in the process. Basically, I want to do this: If queue is empty display warning message Else loop while next pointer on node is not null print node's value end loop print last node's value end if *So that I can loop through all the nodes. If this isn't possible, then another solution could be:* Declare Count_Of_Elements as Integer Set Count_Of_Elements = 0 While Not Queue.Head = null Increment Count_Of_Elements = Count of Elements + 1 -- (Increment Count) End Loop Print Count_Of_Elements ---- However, writing the above in Ada without destroying the queue is tricky. Michal suggested: while not (Queue.Is_Empty_Queue(Queue) ) loop Queues.Remove (Element, Queue); Put(Element); New_Line; end loop; ------ However, the above basically removes each node whilst 'counting' back the values stored in each. And for those that have just joined this conversation, I am trying to create a display function/procedure that gives me a count of the elements in the queue. TIA! Mike -- Liddle Feesh ' O 0 o <"//>< ' o'^ (Remove UNDERPANTS to reply)