单链表入队的一点理解

来源:互联网 发布:apache ant windows 编辑:程序博客网 时间:2024/05/16 23:56
在学习时困扰了挺久的单链表实现队列时入队问题的理解
在此记录一下:

bool Queue::enqueue(const Item & item){    if(if.full())        return false;    Node * add = new Node;      //创建新节点并分配内存    add->item = item;           //将数据存放在新节点的数据域    add->next = NULL;           //指针域指向空    items++;                    //数据项++    if(front==NULL)             //首指针指向首节点        front = add;                else        rear->next = add;       //旧节点的指针域更新,即指向新节点    /*    **Q:这里front->next如何更新?    **A:只有一个节点的时候,front和rear指向的是同一个节点,    **  所以rear->next = add;此时相当于front->next = add;    **  即front节点与后面的链连接起来了!    */    rear = add;                 //尾指针指向新节点    return true;}
原创粉丝点击