//设定线性表的大小
template<typename T>
void chain<T>::setSize(int theSize)
{
if (listSize <= theSize)
listSize = theSize;
else
{
chainNode<T>* p=firstNode;
chainNode<T>* deleteNode;
for (int i = 0; i < theSize-1; i++) //方法的复杂度为O(listSize)
p = p->next; //(1)先找到要删除元素的前驱节点(即theSize-1后面的节点)
while (listSize>theSize)
{
deleteNode =p->next; //逐个删除,直到最后一个元素也删除,把NULL赋给p->next,跳出循环
p->next = p->next->next;
delete deleteNode;
listSize--;
}
}
}
C++中设定线性表的大小(单链表描述)
最新推荐文章于 2023-03-05 14:03:36 发布