Carrot的 2022-10-16 11:09 采纳率: 0%
浏览 30

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


//入队,插入元素
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++


```

  • 写回答

1条回答 默认 最新

  • 伍六七0804 2022-10-16 11:16
    关注

    都应该是 * 吧

    评论

报告相同问题?

问题事件

  • 修改了问题 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥40 微信小程序 使用vant组件ActionSheet 下拉面板,内容区域滚动会触发。scroll-view自定义下拉刷!即使设置停止下拉刷新也不行。
  • ¥15 专业问题提问,7月5号2点之前
  • ¥25 使用cube ai 导入onnx模型时报错
  • ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
  • ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
  • ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
  • ¥15 使用华为ENSP软件模拟实现该实验拓扑
  • ¥15 通过程序读取主板上报税口的数据
  • ¥15 matlab修改为并行
  • ¥15 尝试访问%1服务的windows注册表时遇到问题。必须先解决此问题,然后才能运行安装过程。(请确认您正在使用管理员权限运行)373