Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > дерево java


Автор: ArniLand 19.9.2010, 14:43
Начал выполнять реализацию дерева. Пишу в NetBeans. Задание мое выглядит следующим образом. 
Написать программу на языке Java 2, демонстрирующий построение и обработку нелинейной структуры данных - дерево (таблица, не менее 5 записей). Итерирование таблицы - обход в ширину. 
1. Элементы записи таблицы - Фамилия, Имя, Курс, Студенческий билет, Служба в армии
2. Критерий удаление записи из таблицы - Студентов 5-го курса, которые служили в армии. 

Вот, что пока сделал - описал класс бинарного дерева, корень и добавление элементов в дерево.
1. Правильно ли я описал в классе дерево количество элементов строкового типа? Насколько я понял достаточно одного элемента по нашему условию.
2. Как исправить ошибку - компилятор жалуеться на строки 18, 26 и 31. Выдает ошибку non-static variable cannot be referenced from a static context.
Код
package laba21;
import java.util.*;
public class Main {

class TreeNode
{
    String item;
    TreeNode left;
    TreeNode right;
    TreeNode (String str){
        item = str;
    }
}
static TreeNode root;

static void TreeInsert(String newItem){
    if (root == null) {
        root = new TreeNode(newItem);
        return;
    }
TreeNode runner;
runner = root;
while (true) {
    if (newItem.compareTo(runner.item) < 0) {
        if (runner.left == null) {
            runner.left = new TreeNode(newItem);
            return;
        }
 else {
            if(runner.right == null) {
                runner.right = new TreeNode(newItem);
                return;
            }
      }
    }
    }
 }

Автор: nc30 19.9.2010, 20:52
Цитата(ArniLand @ 19.9.2010,  12:43)
2. Как исправить ошибку - компилятор жалуеться на строки 18, 26 и 31. Выдает ошибку non-static variable cannot be referenced from a static context.

Код

5: static class TreeNode

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)