我有一个函数来计算列表的长度.但这是线性时间.怎么能把它转换成恒定时间(O(1))
struct Node
{
T data;
Node *next;
};
Run Code Online (Sandbox Code Playgroud)
同 Node *front;
Node *back;
这是计算链表长度的功能
int length() const
{
Node *p = front;
int n = 0;
while (p != nullptr)
{
n++;
p = p->next;
}
return n;
}
Run Code Online (Sandbox Code Playgroud)