package Java数据结构与算法char5;public class LinkAfterList {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkList2 list2=new LinkList2();
list2.insert(12,23.4);
list2.insert(52,33.4);
list2.insert(32,27.4);
list2.insert(15,2.54);
list2.insert(12,26.4);
list2.display();
}}
class Link2{
public int iData;
public double dData;
public Link2 next;
public Link2(int id,double dd){
iData=id;
dData=dd;
}
public String toString(){
return "{"+iData+","+dData+"}";
}
}class LinkList2{
private Link2 first;
LinkList2(){
first=null;
}
public void insert(int ida,double dda){
Link2 link=new Link2(ida,dda);
link.next=first;
first=link;
}
public void display(){
Link2 crr=first;
while(crr!=null){
System.out.println(first.toString());
crr=crr.next;
}
}
}
为什么后面的会把前面的数字给覆盖了啊?我整了半天硬是没弄明白是怎么回事!
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkList2 list2=new LinkList2();
list2.insert(12,23.4);
list2.insert(52,33.4);
list2.insert(32,27.4);
list2.insert(15,2.54);
list2.insert(12,26.4);
list2.display();
}}
class Link2{
public int iData;
public double dData;
public Link2 next;
public Link2(int id,double dd){
iData=id;
dData=dd;
}
public String toString(){
return "{"+iData+","+dData+"}";
}
}class LinkList2{
private Link2 first;
LinkList2(){
first=null;
}
public void insert(int ida,double dda){
Link2 link=new Link2(ida,dda);
link.next=first;
first=link;
}
public void display(){
Link2 crr=first;
while(crr!=null){
System.out.println(first.toString());
crr=crr.next;
}
}
}
为什么后面的会把前面的数字给覆盖了啊?我整了半天硬是没弄明白是怎么回事!
Link2 crr=first;
while(crr!=null){
System.out.println(first.toString());//应该是crr,否则就每次打印都是同一个变量了
crr=crr.next;
}
}
first=link;
改成这样试试:
first=link;
link.next=first;