Ağacın tərsinə çevrilməsi#7455

Ağacın tərsinə çevrilməsi

1 saniyə
64 meqabayt
Asan

Zədəf tam ədədlər massividir. Bu ədədlərdən İkili Axtarış Ağacı qurun. Əgər əlavə edilən dəyər mövcud zirvəyə bərabərdirsə, onu sağ alt ağaca əlavə edin.

InvertTree metodunu həyata keçirin, bu metod ikili ağacı tərsinə çevirir.

prb7455.gif

Tərsinə çevrilmiş ağac:

prb7455_1.gif

Aşağıdakı interfeysə uyğun olaraq kod yazın:

class TreeNode
{
public:
  int val;
  TreeNode *left;
  TreeNode *right;
  TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

class Tree
{
public:
  TreeNode *head;
  Tree() : head(NULL) {};

  void Insert(int val); // İkili Axtarış Ağacına val ədədinin əlavə edilməsi
  void InOrder(void); // InOrder keçidi zamanı İkili Axtarış Ağacının elementlərini çıxarın
  void InvertTree(void); // İkili Axtarış Ağacının tərsinə çevrilməsi
};

Lazım olduqda əlavə metodlar yarada və ya istifadə edə bilərsiniz.

Giriş məlumatları

Birinci sətir n (1 ≤ n ≤ 100) ədədini ehtiva edir. İkinci sətir n tam ədəd ehtiva edir.

Çıxış məlumatları

Giriş məlumatlarından İkili Axtarış Ağacı yaradın. InvertTree metodundan istifadə edərək ağacı tərsinə çevirin. InOrder metodundan istifadə edərək tərsinə çevrilmiş İkili Axtarış Ağacının elementlərini çıxarın.

Nümunələr

Nümunə 1

Loading
Loading