62,616
社区成员
发帖
与我相关
我的任务
分享
package com.dbstructor.oop2;
class Link {
public int iData;
public double dData;
public Link next;
public Link(int id, double dd){
iData = id;
dData = id;
}
public void displayLink(){
System.out.print("{" + iData + "," + dData + "}");
}
}
class LinkList {
private Link first;
public LinkList(){
first = null;
}
public boolean isEmpty(){
return (first == null);
}
// 插入链接点
public void insertFirst(int id, double dd){
Link newLink = new Link(id, dd);
newLink.next = first;
first = newLink;
}
// 删除链接点
public Link deleteFirst(){
Link temp = first;
first = first.next;
return temp;
}
public void displayList(){
System.out.print("List (first-->last): ");
Link current = first;
while(current != null){
current.displayLink();
current = current.next;
}
System.out.println("");
}
}
public class LinkListApp {
public static void main(String[] args) {
LinkList theList = new LinkList();
theList.insertFirst(22, 2.99);
theList.insertFirst(44, 4.99);
theList.insertFirst(66, 6.99);
theList.insertFirst(88, 8.99);
theList.displayList();
while(!theList.isEmpty()){
Link aLink = theList.deleteFirst();
System.out.print("Deleted ");
aLink.displayLink();
System.out.println("");
}
theList.displayList();
}
}
回楼上的兄弟,我这个就是单链表 所以一个入口而已,以后会渐渐扩展的.所以会经常来问大家的
因为我是自学JAVA.谢谢大家.都很热心...
谢谢楼上的兄弟们.
LinkList theList = new LinkList();
theList.insertFirst(22, 2.99);
这个我这样理解大伙看对不对 对了就表示通了呵呵..
首先LinkList theList = new LinkList();实例化对象即首链接点.并初始了Link类型的 first为Null
其次theList.insertFirst(22, 2.99);在这个方法里
(1)Link newLink = new Link(id, dd);也是新建一个newLink链接点,并初始化Link类型的next为Null
(2)newLink.next = first;将first指针地址覆盖next的,即next指向了first的引用
(3)first = newLink;将first指向了newLink的新引用
最终链结构就是first--->newLink(next)---->Null
大伙指正下 准备结贴