Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Оцените скорость загрузки страниц сайта

Реактивная
Быстрая
Нормальная
Неважная
Медленная
Черепашья


Результаты
Другие опросы

Всего голосов: 971
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Книги-online



8

8


:
.

- , . , , . .
, . , :
Y, X, X, X Y. , , , . , D, E B; H, I, J . , . Record, , , Integer:
Type
  PTree = ^TTree;
  TTree = Record
     Data : Integer;
     Left, Right : PTree;
  end;
    :
Var
  Tree : PTree;
:
;
;
.

.
, . , , , . .
. . , nil. , nil. , , . ANode nil, , .
Procedure InsTree(var ANode : PTree; n : lnteger);
Begin
  if ANode = nil then
     Begin
       new(ANode);
       With ANode^ do
          Begin
            Left := nil;
            Right := nil;
            Data := n;
          end;
     end
  else if n< ANode^.Data then InsTree(ANode^.Left, n) else InsTree(ANode^.Right, n);
End;
.
. . . , :
, ;
;
.
. :
( );
( );
( ).
:
Procedure PrintTree(ANode : PTree);
Begin
  if ANode <> nil then
     Begin
       PrintTree(ANode^.Left);
       WriteLn(ANode^.Data);
       PrintTree(ANode^.Right)
     End;
End;
. : Tree PTree ; Digit Integer .
Var Tree : PTree; Digit : Integer; BEGIN { } Writeln( 0); Tree := nil; Read(Digit); While Digit<>0 Do Begin InsTree(Tree,Digit); Write( : ); ReadLn(Digit); End; PrintTree(Tree); END.
.
, :
:
. , , . , . .
:
Type
  PTree = ^TTree;
  TTree = Record
     Data : Integer;
     Left, Right : PTree;
  end;
Var
  Tree : PTree;
Tree Data=x.
DeleteNode :
1. , , .
2. .
3. . Procedure DeleteNode(x : Integer; var ANode : PTree); Var q : PTree; Procedure Del(var R : PTree); Begin if R^.Right <> nil then Del(R.^Right) else begin q^.Data := R^.Data; q := R; R := R^.Left; Dispose(q); end; End; { Del } egin { DeleteTree } if ANode = nil then Writeln( ,x, ) else if x < ANode^.Data then DeleteNode(x,ANode^.Left) else if x > ANode^.Data then DeleteNode(x,ANode^.Right) else begin q := ANode; if q^.Right = nil then Begin ANode := q^.Left; Dispose(q); end else if q^.Left = nil then begin ANode := q^.Right; Dispose(q); end else Del(q^.Left); end; End;
Del . q^ ( Data) q^ R^ , R^ . (), 13, 15, 5, 10. . b e.

1. ?
2. ?
3. ?
4. ? ?
5. ?
6. , , .
7. , , .
8. : , .

.
1. , .
2. , .
3. , .
4. , .
5. , .
6. , .
7. , , . , :
1
1
2
3
2
4
8. , 1, .
9. , ( ) .
10. , n n .
11. , .
12. .
13. . .
. , . , , , .
    Pascal                   


Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.


книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать