现在我在看java版的数据结构
看到链表不明
这是链表的结点class Link
{
public int iData; // data item
public double dData; // data item
public Link next; // next link in list
// -------------------------------------------------------------
public Link(int id, double dd) // constructor
{
iData = id; // initialize data
dData = dd; // ('next' is automatically
} // set to null)
// -------------------------------------------------------------
public void displayLink() // display ourself
{
System.out.print("{" + iData + ", " + dData + "} ");
}
} // end class Link
public Link next; // next link in list
还没有定义完类,怎么在这里就声明link类了啊,
我查了一下java api没有link类
还有这处
Link temp = first;
first = first.next; link中没有next
这里怎么用了next这个变量了
它说是自动添加next这我就不理解了
它是怎么自动添加的呢
我看了下java类库代码,
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
LinkedList 后的<E>是什么意思啊,大家觉得看类库的源码,是不是一种有效的学习方法呢
看到链表不明
这是链表的结点class Link
{
public int iData; // data item
public double dData; // data item
public Link next; // next link in list
// -------------------------------------------------------------
public Link(int id, double dd) // constructor
{
iData = id; // initialize data
dData = dd; // ('next' is automatically
} // set to null)
// -------------------------------------------------------------
public void displayLink() // display ourself
{
System.out.print("{" + iData + ", " + dData + "} ");
}
} // end class Link
public Link next; // next link in list
还没有定义完类,怎么在这里就声明link类了啊,
我查了一下java api没有link类
还有这处
Link temp = first;
first = first.next; link中没有next
这里怎么用了next这个变量了
它说是自动添加next这我就不理解了
它是怎么自动添加的呢
我看了下java类库代码,
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
LinkedList 后的<E>是什么意思啊,大家觉得看类库的源码,是不是一种有效的学习方法呢
不存在有没有完成的概念。next是link类的实例变量,并且声明为public,
我们就可以通过link的一个对象来访问这个变量。看类库的代码会养成很好的编程习惯,但是有没有效就很难讲。
因为我不是这么学的。
:)
规定链表中的数据类型该类是自己定义的类在自己的类中使用
有点类似 递归方法 似的 在自己的方法中调用自己的方法
提示1)
两个类,一个主类(link),一个内部类(推荐)element
link.head
link.end
link.add()-> new element 就是 head=new element(),end = head;
注意第一次加入内容的时候
还有一定要有保持 每个 element 有引用被其他对象所引用(要不给JVM回收了)