Lists within Lists or Nested Linked Lists...

Lists within Lists or Nested Linked Lists...

Post by Coder_ric » Mon, 08 Mar 2004 13:13:36


Hello everyone, i been a Ada programmer in college for about 8 months
now.

Right now we are doing Lists within Lists or Nested Linked Lists I
cant decided which name is right.

Dont worry I wont be asking for anyone to do my work for me, Im just
tottaly baffled.

So I got something like this...

TYPE TaskNode;
TYPE TNodePtr IS ACCESS TaskNode;
TYPE TNode IS RECORD
Name : Positive;
Work : Natural;
Worked : Natural;
Next : TNodePtr;
END RECORD;

TYPE PNode;
TYPE Scheduler IS ACCESS PNode;
SUBTYPE PNodePtr IS Scheduler;
TYPE PNode IS RECORD
Number : Positive;
TDone : Natural;
TLeft : Natural;
head : TNodePtr;
tail : TNodePtr;
Next : PNodePtr;
END RECORD;


So basically if the program was complete the user could assign a
number like

1 and have its Tdone be 5 and Tleft be 4

Then the user could assign another number like

5 and have its Tdone be 3 and Tleft be 10

It cant keep creating diffrent Numbers and assigned it Tdones and
Tlefts.

It can also take awwy Tdones..

Now my problem is... How do I simply assign start?

Like how would a function look like just to assign a number to number?
With no Tdones or Tlefts?

Right now I got something like this

A := new Pnode'(Number,0,0,NULL,NULL,NULL);

but this assigns Pnode to something and when I recall it just erases A
and replaces it with the new thing.

Sorry if this is unclear.
 
 
 

Lists within Lists or Nested Linked Lists...

Post by Marius Ama » Mon, 08 Mar 2004 20:32:25


Lists_Of_Lists ?


Why TaskNode *and* TNode? Why not just TaskNode? And the indentation is wrong.


You mean create a PNode object with the specified values for Number, TDone
and TLeft? Write a constructor function...


and list operations.


Assign what to what?


Write specialised constructor and/or update operations.


Yes, please try to be more rigourous and write better Ada style.

Also, an English (but correct) description of the ADT you want to write might
assist both yourself and us. Remember an ADT is essentially a set of
operations. The auxiliary types and components follow. Think topdown.

If the focus of this homework is scheduling and not lists consider using an
existing, tried and true, list library, e.g. Charles. Even if the focus is
lists, studying the source code of such a library would help. However if you
have not learnt generics yet, and don't want to just now, forget this last
advice.

(It's always nice to see homework efforts on CLA. It's a sign Ada is being
taught. However--and this may be the paranoid in me--I tend to interpret some
details as weaknesses of the instruction side. For example, the style. If
someone is in a condition to ease my mind, please do. For what it matters,
I've been an Ada instructor myself.)