用Java自己实现链表
先再次感叹一下自己的Java没学好……
以前本科上Java课的时候,记得最清楚地一件事就是Java里没有指针,当时曾经疑惑过,那怎么用Java写链表呢。但是也没有深想,后来要用到也是一直用像List,vector这样的现成结构。
直到最近用Java用得比较多,才逐渐搞清楚了Java中对象引用的概念,于是想到其实可以通过对象引用实现链表。写了个小程序测试一下,果然OK。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public class Node { int i; Node next; Node(int ref) { i = ref; next = null; } } public class LinkTest { public static void main(String[] args) { Node head = new Node(0); Node p = head; for(int i = 1; i <= 10; i++){ Node tmp = new Node(i); p.next = tmp; p = tmp; } p = head; while(p != null){ System.out.print(p.i+" "); p = p.next; } } } |
这里用到的java中的对象引用概念,指的是在Java中,除了基础类型(int,float之类)之外,对象使用赋值符号时,都是将右边对象的一个引用给了左边的变量。
百度搜索过来的..凑凑热闹。。。