算法第四版Algorethms 4th学习笔记(2)

95页实现先进先出的算法1.3中,从表头删除元素的dequeue()如下

public Item dequeue()
{
    Item item = first item;
    first = first.next;
    if(isEmpty)) last = null;
    N--;
    return item;
}

按照C的理解,first 是一个Node类型的变量,则“first = first.next;”将first变为item和next都和first.next相同的Node。这不符合代码的目的,也与图1.3.7中的图示不符。从图1.3.7中的图示看出,这里的first是类似指针一样的东西。学习过http://zwmf.iteye.com/blog/1738574 这篇文章后,我才明白这里的first不是变量,而是引用,类似C中的指针,问题迎刃而解。

欢迎交流讨论( • ̀ω•́ )✧

你可能感兴趣的:(算法第四版Algorethms 4th学习笔记(2))