struct PolyNode { int coef; int expon; PolyNode *Link; }; typedef PolyNode *Polynomial; struct PolyQueue { Polynominal Front; Polynominal Rear; }; typedef PolyQueue *PolyQueuePtrl; void AddPolyNode(PolyQueuePtrl Ptrl, const int coef, const int expon) { Polynominal Temp = new PolyNode; Temp->coef = coef; Temp->expon = expon; Temp->Link = nullptr; if (Ptrl->FrOnt== nullptr) Ptrl->FrOnt= Temp; if (Ptrl->Rear != nullptr) Ptrl->Rear->Link = Temp; Ptrl->Rear = Temp; } void Attach(Polynomial &rear, const int coef, const int expon) { rear->Link = new PolyNode; rear = rear->Link; rear->coef = coef; rear->expon = expon; rear->Link = nullptr; } 最近在学习数据结构,在用 C++实现一个队列的时候,有了一个疑问希望能获得各位大佬的解答。我写了两个函数来实现在队列末尾新增一个元素的操作。一个传入的是队列的指针,另外一个传入的是队列里面的 Rear 指针,定义和具体实现在上方代码中,在传入队列指针的时候直接传入即可实现插入的操作,但是在传入 Rear 指针的时候一定要传入 Rear 指针的引用才可以,同样是指针为什么一个传值就可以了,另一个要传引用呢?
