fork download
  1. program exp;
  2.  
  3. uses crt;
  4.  
  5. Type
  6. PTree = ^TTree;
  7. TTree = Record
  8. Data : Integer;
  9. Left, Right : PTree;
  10. end;
  11.  
  12. var
  13. Tree : PTree;
  14. f1 :text;
  15. i, sum, y1 : integer;
  16.  
  17. Procedure InsTree(var ANode : PTree; n : integer);
  18. Begin
  19. if ANode = nil then
  20. Begin
  21. new(ANode);
  22. With ANode^ do
  23. Begin
  24. Left := nil;
  25. Right := nil;
  26. Data := n;
  27. end;
  28. end
  29. else if n< ANode^.Data then
  30. InsTree(ANode^.Left, n)
  31. else InsTree(ANode^.Right, n);
  32. End;
  33.  
  34. Procedure PrintList(ANode : PTree);
  35. Begin
  36. if ANode <> nil then
  37. Begin
  38. if (ANode^.Left=nil) and (ANode^.Right=nil) then
  39. write(' ', ANode^.Data);
  40. PrintList(ANode^.Left);
  41. PrintList(ANode^.Right);
  42. End;
  43. End;
  44.  
  45. begin
  46. clrScr;
  47.  
  48. InsTree(Tree, 1);
  49. InsTree(Tree, 10);
  50. InsTree(Tree, 8);
  51. InsTree(Tree, 3);
  52. InsTree(Tree, 12);
  53. InsTree(Tree, 4);
  54. InsTree(Tree, 7);
  55. InsTree(Tree, 13);
  56. InsTree(Tree, 2);
  57. InsTree(Tree, 9);
  58. InsTree(Tree, 11);
  59. InsTree(Tree, 6);
  60. InsTree(Tree, 5);
  61.  
  62.  
  63. writeln('Листья дерева');
  64. PrintList(Tree);
  65.  
  66. end.
Success #stdin #stdout 0s 360KB
stdin
Standard input is empty
stdout
Листья дерева
 2 5 9 11 13