Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROCEDURE (t: Traffic) SortWachtrij();
- VAR
- teller1, teller2, teller3: INTEGER;
- tempnode: CircDLL.Node;
- tempplane: CircDLL.Node;
- tempname: StringTypes.SimpleTypeString;
- airport: Airport.Airport;
- airplane: Airplane.Airplane;
- BEGIN
- teller1 := 0;
- NEW(tempnode);
- tempnode^.Init;
- tempnode := t^.Ports^.GetFirstNode();
- NEW(tempplane);
- tempplane^.Init;
- tempplane := t^.Planes^.GetFirstNode();
- IF tempnode IS Airport.Airport THEN
- airport := tempnode(Airport.Airport);
- END;
- IF tempplane IS Airplane.Airplane THEN
- airplane := tempplane(Airplane.Airplane);
- END;
- IF (airplane = t^.Planes^.GetLastNode()) & (airplane = t^.Planes^.GetFirstNode()) THEN
- IF airport^.GetName() = airplane^.GetDepart() THEN
- airport^.wachtlijst[teller1] := airplane^.GetNumber();
- END;
- ELSE
- FOR teller3 := 0 TO (t^.Planes^.GetLength() -1) BY 1 DO
- IF airport^.GetName() = airplane^.GetDepart() THEN
- airport^.wachtlijst[teller2] := airplane^.GetNumber();
- INC(teller2);
- airplane := airplane^.NextNode^();
- ELSE
- airplane := airplane^.NextNode^();
- END;
- END;
- END;
- airport := airport^.NextNode^();
- WHILE airport # t^.Ports^.GetFirstNode() DO
- airplane := t^.Planes^.GetFirstNode^();
- IF (airplane = t^.Planes^.GetLastNode()) & (airplane = t^.Planes^.GetFirstNode()) THEN
- IF airport^.GetName() = airplane^.GetDepart() THEN
- airport^.wachtlijst[teller1] := airplane^.GetNumber();
- END;
- ELSE
- teller2 := 0;
- FOR teller3 := 0 TO (t^.Planes^.GetLength() -1) BY 1 DO
- IF airport^.GetName() = airplane^.GetDepart() THEN
- airport^.wachtlijst[teller2] := airplane^.GetNumber();
- INC(teller2);
- airplane := airplane^.NextNode^();
- ELSE
- airplane := airplane^.NextNode^();
- END;
- END;
- END;
- airport := airport^.NextNode^();
- END;
- END SortWachtrij;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement