Advertisement
MSzopa

C++ 11.03.2022 BST

Mar 11th, 2022
863
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. void PREORDER(int tablica[], int size, int a = 1) {
  4.     if (a-1 < size) {
  5.         if(tablica[a - 1]!=0)
  6.             std::cout << tablica[a-1] << " ";
  7.         PREORDER(tablica,size, 2 * a);
  8.         PREORDER( tablica, size, 2 * a+1);
  9.     }
  10. }
  11. void INORDER(int tablica[], int size, int a = 1) {
  12.     if (a - 1 < size) {
  13.         INORDER(tablica, size, 2 * a);
  14.         if (tablica[a - 1] != 0)
  15.             std::cout << tablica[a - 1] << " ";
  16.         INORDER(tablica, size, 2 * a+1);
  17.     }
  18. }
  19. void POSTORDER(int tablica[], int size, int a = 1) {
  20.     if (a - 1 < size) {        
  21.         POSTORDER(tablica, size, 2 * a);
  22.         POSTORDER(tablica, size, 2 * a+1);
  23.         if (tablica[a - 1] != 0)
  24.             std::cout << tablica[a - 1] << " ";
  25.     }
  26. }
  27. int main()
  28. {
  29.     int tablica[] = { 20, 16, 28, 12, 18, 0, 30, 5, 14, 0, 19, 0, 0, 0, 0, 0, 0, 13, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
  30.     PREORDER(tablica, 31);
  31.     std::cout << std::endl;
  32.     INORDER(tablica, 31);
  33.     std::cout << std::endl;
  34.     POSTORDER(tablica, 31);
  35.     std::cout << std::endl;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement