当某些语言不支持指针和对象类型的数据时,应当如何实现他们呢?
链表,其中的各对象按线性顺序排列。 我们都知道数组的线性顺序是由数组的下标决定的,链表与数组不同的是,链表的线性顺序是由各个对象里的指针决定的。链表为动态集合提供了一种简单而灵活的表示方法。
队列,就类似于收银台排队等待结账的一排顾客,先到的先结账(先进先出)。队列有队头(head)和队尾(tail),当有一个元素入队时,就把他放在队尾的位置,就想是一个新的顾客去结账总是排在最后。而出队的元素总是队前头的那个。
栈(stack),实现的是一种后进先出(Last-in,first-out)策略。类似餐馆中的装盘子的东西,我们从容器中拿出盘子的顺序正好和我们放入盘子的顺序相反,总是最上面的盘子先被拿出。