数组与链表

2018-08-23  本文已影响0人  天际神游

数组 (Array)

一段固定的连续的存储单元.
特征:

// 在Java中新建数组
int[] arr = new int[10];

链表 (List)

链表一般分为单链表和双链表. 其物理存储的位置是不连续的

单链表:

head --> node1 --> node2 --> node3 --> ... --> end

单链表由节点构成:
一个节点一般有两个属性, 以java为例:

public class Node {
    public int value;
    public Node next;
    public Node(int value){
        this.value = value;
    }
}

通过next找到下一个节点, 通过value, 获取当前节点的值
一般遍历链表的方法:

// 如果需要保证 head 不变, 可以声明另外的一个 Node 指向头节点, 然后去遍历
Node node = head;
while(node != null){
    node = node.next;
}

双链表

其节点比单链表多了一个指向之前节点的指针, 详见代码:

public class Node {
    public int value;
    public Node next;
    public Node pre;
    public Node(int value){
        this.value = value;
    }
}

当然还有一些其他的链表, 大同小异.

上一篇 下一篇

猜你喜欢

热点阅读