Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- StudentPointer = ^StudentNode;
- StudentNode = record
- Fam, Name, Otch: String;
- ID, OcVM, OcProg, OcFiz: Integer;
- nextNode: StudentPointer;
- end;
- var
- Head, Tail: StudentPointer;
- procedure AddStudent(Name: String);
- var
- Node: StudentPointer;
- begin
- //Node := New(Node);
- New(Node);
- Node^.Name := Name;
- Tail^.nextNode := Node;
- Tail := Node;
- end;
- procedure AddStudentAtHead(Student: StudentPointer);
- var
- Node: StudentPointer;
- OldHead: StudentPointer;
- begin
- if head <> nil then
- begin
- OldHead := Head;
- Head := Student;
- Head^.nextNode := OldHead;
- end;
- end;
- procedure DeleteStudent(ID: Integer);
- var
- PrevNode, Node: StudentPointer;
- ID_Search: Integer;
- begin
- Node := Head;
- ID_Search := Node^.Id;
- PrevNode := nil;
- while ID_Search <> ID do
- begin
- PrevNode := Node;
- Node := Node^.nextNode;
- ID_Search := Node^.Id;
- end;
- if PrevNode = nil then
- begin
- PrevNode^.nextNode := Node^.nextNode;
- Dispose(Node);
- end;
- end;
- begin
- //Head := New(Head);
- New(Head);
- Tail := Head;
- var pid: integer;
- readln(pid);
- DeleteStudent(pid);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement