比如我想定义一个泛型的链表类,我该怎么做,各位高手,看我下面的程序,那里是对的,哪里是错的?class CNode<T>
{
T infor;
CNode next;
CNode(T data)
{
infor=data;
}
}各位大哥,上面这个节点类的定义有问题吗?public class CLinkedList<T>
{
private CNode<T> head;
private CNode<T> tail; //定义一个方法,在表头加如一个元素,请问各位大哥,我该怎么实现
//方法参数型别的泛化?
//T addNodeFront(T data){ ... } 这样做对吗? ......
}各位大哥帮忙啊!小弟弟是用的JDK1.5!
{
T infor;
CNode next;
CNode(T data)
{
infor=data;
}
}各位大哥,上面这个节点类的定义有问题吗?public class CLinkedList<T>
{
private CNode<T> head;
private CNode<T> tail; //定义一个方法,在表头加如一个元素,请问各位大哥,我该怎么实现
//方法参数型别的泛化?
//T addNodeFront(T data){ ... } 这样做对吗? ......
}各位大哥帮忙啊!小弟弟是用的JDK1.5!
newNode.next=this.head;
this.head=newNode;
return this.head;
}
{
T m_infor;
CNode m_next;
CNode(T infor, CNode next)
{
m_infor = infor;
m_next = next;
}
}public class CLinkedList<T>
{
private CNode<T> head;
private CNode<T> tail;
public void addNodeToHead(T data)
{
CNode<T> tmpNode = new CNode<T>(data,head.m_next);
head.m_next = tmpNode;
if (tail == null)
{
tail = tmpNode;
}
}
public static void main(String args[])
{
CLinkedList<String> s = new CLinkedList<String>();
s.addNodeToHead("hello!");
}
}大家看看,这个哪里有错啊,求求各位了!
这样吗?
public <T> void addNodeToHead(T data)
{
CNode<T> tmpNode = new CNode<T>(data,head.m_next);
head.m_next = tmpNode;
if (tail == null)
{
tail = tmpNode;
}
}