1

我有一项任务是创建一个链接列表并拆分为两个子列表,现在我的代码有错误。如果有人可以帮助我编写代码,我无法弄清楚每次需要更改的地方,因为我更改了一些它给了我更多错误。

public class UnorderedLinkedList<E extends Comparable<? super E>> extends LinkedList<T>
{
    public void splitMid(LinkedList<String> subList)
    {
        LinkedList<T> current;//the head pointer
        LinkedList<T> mid;//the mid point 

        //Node first = firstNode;
        //Node last = firstNode;

        //Node subListFirst;
        //Node subListLast;
        int i;

        if(head == null)
        {
            subList.head = null;
            subList.last = null;
            subList.count = 0;
        }
        else
        {
            //mid =
            head = null;
            current = head.next;
            i = 1;

            if(current != null)
                current = current.next;

            while(current != null)
            {
                mid = mid.next;
                current = current.next;
                i++;

                if(current != null)
                    current = current.next;
            }

             subList.head = head.next;
             subList.last = last;
             last = mid ;
             last.next = null;

             subList.count = count - i;
             count = i;
        }
    }
}

错误信息

G:\LinkedList\src\LinkedList.java:184:错误:找不到符号 subList.count = 0;

符号:变量计数。

位置:LinkedList.Node 类型的变量 subList

其中 T,E 是类型变量:

T 扩展类 LinkedList 中声明的 Object。

E 扩展类 LinkedList.UnorderedLinkedList 中声明的 Comparable

我的主要课程:

public void main(String args[])
{
    LinkedList<Integer> myList = new LinkedList<Integer>();
    LinkedList<Integer> subList = new LinkedList<Integer>();

    myList.addLast(34);
    myList.addLast(65);
    myList.addLast(87);
    myList.addLast(29);
    myList.addLast(12);

    myList.splitMid( subList);
}

错误信息

G:\LinkedList\src\LinkedTest.java:31:错误:找不到符号。

myList.splitMid(subList);

符号:方法 splitMid(LinkedList)

位置:LinkedList 类型的变量 myList

4

2 回答 2

1

关于编译错误:

您正在使用实例LinkedList调用您为类定义的方法UnorderedLinkedList

于 2012-10-18T02:26:11.177 回答
0

1.

G:\LinkedList\src\LinkedList.java:184: error: cannot find symbol subList.count = 0;

尝试删除 subList.count;不必为计数分配值;

2.

G:\LinkedList\src\LinkedTest.java:31: error: cannot find symbol.

myList.splitMid(subList);

做这个:

UnorderedLinkedList<Integer> myList = new UnorderedLinkedList<Integer>();
于 2012-10-18T02:37:01.900 回答