Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit2;
- interface
- type
- Ptr = ^Queue;
- Queue = record
- Data, Priority, Num: Integer;
- Next, Front, Rear: Ptr;
- end;
- var
- Q: Ptr;
- procedure Makenull(var Q: Ptr; Data, Priority, Num: Integer);
- function Empty(Q: Ptr): Boolean;
- procedure Add(var Q: Ptr; Data, Priority, Num: Integer);
- procedure Dequeue(var Q: Ptr);
- implementation
- procedure Makenull(var Q: Ptr; Data, Priority, Num: Integer);
- begin
- new(Q);
- Q^.Front := Q;
- Q^.Data := Data;
- Q^.Front^.Next := nil;
- Q^.Rear := Q^.Front;
- Q^.Priority := Priority;
- Q^.Num := Num;
- end;
- function Empty(Q: Ptr):Boolean;
- var
- Z: Boolean;
- begin
- if Q^.Front = Q^.Rear then
- Z := true
- else
- Z := false;
- Result := Z;
- end;
- procedure Add(var Q: Ptr; Data, Priority, Num: Integer);
- var
- i: Integer;
- begin
- //while
- new(Q^.Rear^.Next);
- Q^.Rear := Q^.Rear^.Next;
- Q^.Rear^.Next := nil;
- Q^.Rear^.Priority := Priority;
- Q^.Rear^.Num := Num;
- Q^.Rear^.Data := Data;
- end;
- procedure Dequeue(var Q: Ptr);
- begin
- if (not empty(Q)) then
- Q^.Front := Q^.Front.Next;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement