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 指针的引用才可以,同样是指针为什么一个传值就可以了,另一个要传引用呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.