为什么队列的形参是*,而链表的形参是*&


//入队,插入元素
int EnterQueue(LinkQueue* LQ, int data,int priority) {
    if (!LQ)
        return 0;
    if (IsFull(LQ)) {
        cout << "无法插入元素" << data << "队列已满" << endl;
        return 0;
    }

    QNode* qNode = new QNode;//动态分配一个节点
    qNode->data = data;
    qNode->priority = priority;//赋值优先级
    qNode->next = NULL;

    if (IsEmpty(LQ)) {//空队列
        LQ->front = LQ->rear = qNode;
    }
    else {
        LQ->rear->next = qNode;//将前驱结点和新结点相连
        LQ->rear = qNode;//将qNode指向的结点,现在用rear来替代它指向此结点
        //"="号的赋值方向是从右到左
    }
    LQ->length++;

    return 1;
}
//7.单链表的删除
bool LinkDelete(LinkList*& L, int i) {//i是删除的第几位元素
    LinkList* p,* q;
    int index = 0;
    p = L;//如果删除的是第一个节点就寄了,所以这里p指向的是头节点

    if (!L || !L->next)
        return false;

    while ((p->next)&&(index<i-1)) {
        p = p->next;
        index++;
    }

    if (!p->next || (index > i - 1)) //当i>n或者i<1时,删除位置不合理
        return false;

    q = p->next;//q时临时保存被删除的节点的地址以备释放空间

    p->next = q->next;// q->next指的是被删除节点的下一个节点的地址,然后就是p指向被删除的下一个节点的地址
    delete q;
    return true;
}


```c++


```

都应该是 * 吧