Академический Документы
Профессиональный Документы
Культура Документы
Перевірив: Викладач
Горбенко Віталій Іванович
Запоріжжя
2022
Завдання
Кроме метки уровня и номера объекта на уровне, каждый объект еще имеет свій
«идентификационный код». Этот код генерируется случайным образом при
создании объекта и состоит по-умолчанию из восьми цифр (количество цифр в
коде определяется закрытым статическим целочисленным полем IDnum). Код
записывается в целочисленный массив, на который ссылается переменная массива
ID — закрытое поле класса ObjectTree.
class Node {
int value;
Node left;
Node right;
Node(int value) {
this.value = value;
right = null;
left = null;
}
}
// заполняем массив
inorder(root, A, 0);
for (boolean e: A)
{
if (!e) {
return false;
}
}
return true;
}
return current;
}
public void add(int value) {
root = addRecursive(root, value);
}
inorder(root.left);
System.out.print(root.data + " ");
inorder(root.right);
}
return root;
}
return root;
}
inorder(root.left, nodes);
nodes.add(root);
inorder(root.right, nodes);
}
int i = 0, j = 0;
return result;
}
return root;
}
Завдання 2. Конструктор:
BinaryTree(int levelCounter, int objectCounter, char level, int number) {
System.out.println("\tСоздан новый объект! " + level + "" + number);
objectCounter--;
this.level = level;
counter = number;
getID();
int tmp = objectCounter / 2;
//show();
if (levelCounter == 1 || objectCounter == 0) {
leftNode = null;
rightNode = null;
} else {
if (objectCounter >= 2) {
leftNode = new BinaryTree(levelCounter - 1, objectCounter - tmp, (char)
((int) level + 1), 2 * number - 1);
rightNode = new BinaryTree(levelCounter - 1, tmp, (char) ((int) level + 1),
2 * number);
} else if (objectCounter == 1) {
leftNode = new BinaryTree(levelCounter - 1, tmp, (char) ((int) level + 1),
2 * number - 1);
rightNode = null;
} else {
leftNode = null;
rightNode = null;
}
}
}
Arrays.sort(arr);
if (arr.length == 0) {
value = 0;
firstReference = null;
secondReference = null;
} else if (arr.length == 1) {
value = arr[0];
firstReference = null;
secondReference = null;
} else if (arr.length == 2) {
value = arr[0];
int[] arr1 = {arr[1]};
firstReference = new Pyramid(arr1, (char) ((int) level + 1), 2 *
counter - 1);
secondReference = null;
} else {
value = arr[0];
int tmp = arr.length - 1;
int[] arr1 = new int[tmp / 2];
int[] arr2 = new int[tmp - tmp / 2];