數據結構---在分內分彩平臺出租存上理解鏈表
阿新 • • 發佈:2018-07-10
ofo 堆棧 i++ override node return ast http linknode 首先,在學習分內分彩平臺出租 haozbbs.com Q1446595067 數據結構中,對鏈表在內存上的理解非常重要,上代碼
public class LinkNode<M> {
public M data;
public LinkNode nextNode;@Override
br/>@Override
return "LinkNode [data=" + data + ", nextNode=" + nextNode + "]"+"/n";
}
} public class Person {
public String name;
public int age;
public String xueli;@Override
br/>@Override
return "Person [name=" + name + ", age=" + age + ", xueli=" + xueli + "]";
}
public class LinkNode<M> {
public M data;
public LinkNode nextNode;@Override
br/>@Override
return "LinkNode [data=" + data + ", nextNode=" + nextNode + "]"+"/n";
}
}
<M>這是泛型。先建立一個鏈表結構的類。很簡單的一個鏈表結構,接下來建立一個Preson類
public String name;
public int age;
public String xueli;@Override
br/>@Override
return "Person [name=" + name + ", age=" + age + ", xueli=" + xueli + "]";
}
}
好了現在所需要的類都建立好了,接下來看主函數
public class MainTest {
public static void main(String [] ddd) { LinkNode<Person> personLin = new LinkNode<Person>(); 這裏呢首先將Person當做類型 Person zwx = new Person(); zwx.age = 22; zwx.name ="周文先"; personLink0.data =zwx; LinkNode<Person> personLink0 = new LinkNode<Person>(); Person person = new Person(); personLink0 .data = person; personLink0 .data.age = personLin .data.age; personLink0 .data.name = personLin .data.name; personLin .data.age = 30; LinkNode<Person> personLinkLast= personLink0 ; //這句話主要是記錄最後一個鏈表塊的位置,用他來記錄,如果不是 LinkNode<Person> personLinkLast2 = personLinkLast而是 LinkNode<Person> personLinkLast=new LinkNode<Person>(); personLinkLast=personLink0 ;就會把第一個數據丟了,這個可以從堆棧上來分析 for(int i = 0; i < 100; i++) { LinkNode<Person> personLinknext = new LinkNode<Person>(); Person personi = new Person(); personi.age = 30 + i; personi.name ="zwx" + i; personLinknext.data = personi; personLinkLast.nextNode = personLinknext; personLinkLast= personLinknext; } System.out.println(personLinkLast); }
}
這個利用了JVM上的垃圾回收的原理,不懂的可以去百度,以後博客會慢慢出現的
我想這樣看圖可能理解的快一點然後一級一級的循環下去,這個是從內存上去分析,餓感覺自己沒講出來,希望大家能看圖理解,不好意思,第一次寫博客,下次會繼續去努力,
數據結構---在分內分彩平臺出租存上理解鏈表