Связанный список Java - PullRequest
       1

Связанный список Java

0 голосов
/ 28 октября 2011

это домашнее задание, но его не нужно оценивать, просто что-то, что можно использовать в будущих проектах. У меня проблемы с отображением того, что у меня есть в моем списке / узлах. В основном я получаю сообщение об ошибке при вызове displayList.

Объединение объединяет списки в новый, который включает все элементы списка 1 и 2.

Союз включает только один из каждого дубликата из списка 1 и 2.

Пересечение включает только дубликаты из списка 1 и 2, но не из того же списка.

Заметка в методе слияния, код в форме заметки, я считаю, просто альтернативная форма текущей.

//Kevin Clement
//Homework 2

   class LinkedListHomework
   {
      public static ListNode Merge(ListNode List1, ListNode List2)
      {
         ListNode head, tail;
         head = tail = new ListNode( "Hi1");

         while(List1 != null && List2 != null)
         {
            if(List1.getItem().toString().compareTo(List2.getItem().toString()) < 0)
            {
               tail.setNext(new ListNode(List1.getItem()));
               List1 = List1.getNext();
            }
            else
            {
               tail.setNext(new ListNode(List2.getItem()));
               List2 = List2.getNext();
            }
            tail = tail.getNext();
         }

      // while(List1 != null)
      // {
      // tail.setNext(new ListNode(List1.getItem()));
      // tail = tail.getNext();
      // List1 = List1.getNext();
      // }
      // 
      // while(List2 != null)
      // {
      // tail.setNext(new ListNode(List2.getItem()));
      // tail = tail.getNext();
      // List2 = List2.getNext();
      // }
         return head.getNext();


      }




   // public static ListNode Union(ListNode List1, ListNode List2)
   // {
   // 
   // 
   // 
   // }

   // // public static ListNode Intersection(ListNode List1, ListNode YList2)
   // {
   // 
   // }

      public void displayList()
      {
         ListNode temp = head;
         System.out.print("head");
         while(temp != null)
         {
            System.out.print("--> " + temp.getItem());
            temp = temp.getNext();
         }
         System.out.print("\n\n");
      }


      public static void main(String args[])
      {

         ListNode A = new ListNode("Adam", new ListNode("Andrew", new ListNode("Kyle", new ListNode("Luc", new ListNode("Michael", new ListNode("Tony"))))));
         ListNode B = new ListNode("Adam", new ListNode("Fallon", new ListNode("Jim", new ListNode("Kyle", new ListNode("Nina", new ListNode("Shea", new ListNode("Tony")))))));

         displayList(A);
         A.displayList();




      }

   }

Хорошо, вот мои ошибки, я чувствую, что их копирование будет более полезным для вас, ребята, чем я, пытающийся объяснить, что не так.

LinkedListHomework.java:61: cannot find symbol  
symbol  : variable head 
location: class LinkedListHomework  
         ListNode temp = head;  
                         ^  
LinkedListHomework.java:78: displayList() in LinkedListHomework cannot be applied to (ListNode)
         displayList(A);  
         ^  
LinkedListHomework.java:79: cannot find symbol  
symbol  : method displayList()  
location: class ListNode  
            A.displayList();  
             ^  
3 errors

1 Ответ

1 голос
/ 28 октября 2011

Первая ошибка в строке ListNode temp = head;: head не была объявлена.

Вторая ошибка в том, что вы пытаетесь вызвать displayList с аргументом: он не принимает аргументов,Кроме того, это не статический метод - его необходимо вызывать для объекта.

Третья ошибка заключается в том, что вы пытаетесь вызвать displayList для объекта класса ListNode, тогда как displayListфактически принадлежит к классу LinkedListHomework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...