1. При вызове функции в main выдает ошибку на что не правильный список параметров, когда добавляю параметры выдает ошибку not a statement. 2. При вызове функции вывода обхода, на экран ничего не выводит. Помогите пожалуйста правильно организовать вывод на экран, если можете подправьте код, завтра сдавать нужно, а я уже запутался немного с программой. Нужно чтобы на экран выводилось - список студентов, обход в ширину и удаление студентов которые служат в армии.
Код | package btree; import java.io.*; class BinaryTree { public Node root; public BinaryTree()
{ root = null; }
public void insert(int data, String name, String surname, String course, String ticket, String army){
Node n = new Node(data, name, surname, course, ticket, army); if (root == null){ root = n; } else { Node current = root; Node parent; while(true) { parent = current; if(data < current.data){ current = current.left; } if (current == null) { parent.left = n; return; } else { current = current.right; if(current == null){ parent.right = n; return;
} } } } }
public Node find(int key){ Node current = root;
while(current.data != key){ if(key < current.data){ current = current.left; } else { current = current.right; }
if(current == null) { return null; }
} return current; } public void preorderPrint(Node root) { if (root == null) { System.out.println(root.data + ""); preorderPrint(root.left); preorderPrint(root.right);
} }
public boolean delete(int key) { Node current = root; Node parent = root; boolean isLeft = true;
if (current.army == "Yes" && current.course == "3") { while(current.data != key) { parent = current; if(key < current.data) { isLeft = true; current = current.left; } else { if(current == null) { return false; } } }
if(current.left == null && current.right == null) { if (current == root) root = null;
else if(isLeft) parent.left = null; else parent.right = null;
}
else if (current.right == null) if( current == root) root = current.left; else if(isLeft) parent.left = current.left; else parent.right = current.right;
else if(current.left == null) if(current == root) root = current.right; else if(isLeft) parent.left = current.right; else parent.right = current.right;
else { Node successor = getSuccessor(current);
if(current == root) root = successor; else if(isLeft) parent.left = successor; else parent.right = successor;
successor.left = current.left;
} }
return true;
}
private Node getSuccessor(Node delNode) { Node successorParent = delNode; Node successor = delNode; Node current = delNode.right; while(current != null) { successorParent = successor; successor = current; current = current.left; }
if(successor != delNode.right) { successorParent.left = successor.right; successor.right = delNode.right; } return successor; }
public void traverseOut() { System.out.println("обход в ширину: + "); preorderPrint(root); } public void displayNode(int data, String name, String surname, String course, String ticket, String army) { //функция вывода System.out.println("--"); System.out.print(data); System.out.print("Фамилия"); System.out.println(surname); System.out.print("Имя"); System.out.println(name); System.out.print("Курс"); System.out.println(course); System.out.print("Билет"); System.out.println(ticket); System.out.print("Армия"); System.out.println(army); System.out.println("--"); }
}
class bTreeApp { public static void main(String[] args ) { BinaryTree theTree = new BinaryTree(); theTree.insert(1, "vasa", "pupkin", "3", "456987", "Yes"); theTree.insert(2, "ivan", "ivanov", "2", "789898", "No"); theTree.insert(4, "dima", "vengel", "3", "7896546", "No");
System.out.println("Cтуденты" + theTree.displayNode(int data, String name, String surname, String course, String ticket, String army) ); // ругается на эту строку theTree.traverseOut();//вызов вывода
} } class Node { Node left; Node right; int data; String name; String surname; String course; String ticket; String army; public Node(int data, String name, String surname, String course, String ticket, String army){ this.data = data; this.name = name; this.surname = surname; this.course = course; this.ticket = ticket; this.army = army; } }
|
|