//循环链表的翻转函数
template<typename T>
void circularchain<T>::reverse()
{
chainNode<T>*pr,*r;
chainNode<T>*p = firstNode->next; //把链表分成两段
firstNode->next = firstNode; //从p里面拿出节点插入只有一个节点的链表,注意此只有一个节点的链表也是循环链表
pr= firstNode; //保存起初的起始位置,作为后面插入的末位置
while (p!=pr)
{
r = p->next; //保存好下一次要插入的元素
p->next = firstNode; //进行节点插入
pr->next=p;
firstNode = p;
p = r;
}
}
C++循环链表中进行元素的翻转
最新推荐文章于 2022-02-08 22:15:00 发布