Advertisement
SuperEPF

Liste Pascal FINAL

Aug 19th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. program Lista;
  2. type pElem = ^element;
  3. element = record
  4. info: integer;
  5. next:pElem;
  6. end;
  7.  
  8. procedure PopuniListu(var head: pElem; n:integer);
  9. var pom:pElem;
  10. t,i:integer;
  11.  
  12. begin
  13. writeln('Unesite elemente: ');
  14. for i:=1 to n do
  15. begin
  16. read (t);
  17. if (head = NIL) then
  18. begin
  19. new (head);
  20. head^.info:=t;
  21. head^.next:=NIL;
  22. end
  23. else
  24. begin
  25. pom:=head;
  26. while(pom^.next <> NIL) do
  27. pom:=pom^.next;
  28. new(pom^.next);
  29. pom:=pom^.next;
  30. pom^.info:=t;
  31. pom^.next:=NIL;
  32. end;
  33. end;
  34.  
  35. end;
  36.  
  37. procedure Remove(var glava: pelem; t:integer);
  38. var
  39. pom,pred,tren:pelem;
  40. begin
  41. pred:= NIL;
  42. tren:= glava;
  43. while(tren <> NIL) do
  44. begin
  45. if (t = tren^.info) then
  46. begin
  47. if (pred = NIL) then
  48. begin
  49. glava:=glava^.next;
  50. pom:=tren;
  51. tren:=tren^.next;
  52. dispose(pom);
  53. end
  54. else
  55. begin
  56. pred^.next:=tren^.next;
  57. pom:= tren;
  58. tren:= tren^.next;
  59. dispose(pom);
  60. end
  61. end
  62. else
  63. begin
  64. pred:= tren;
  65. tren:= tren^.next;
  66. end;
  67. end;
  68. end;
  69.  
  70. procedure PrintList(head:pElem);
  71.  
  72. begin
  73. while (head <> nil) do
  74. begin
  75. write('[' ,head^.info, '] --> ');
  76. head:=head^.next
  77. end;
  78. writeln();
  79. end;
  80.  
  81. var
  82. head:pElem;
  83. n,t:integer;
  84.  
  85. begin
  86.  
  87. read (n);
  88. if (n<1) then exit;
  89.  
  90. head:=NIL;
  91. PopuniListu(head,n);
  92. PrintList(head);
  93. Printlist(head);
  94. readln(t);
  95. Remove(head,t);
  96. writeln();
  97. printlist(head);
  98.  
  99. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement