您的位置:首页 > 编程语言 > C语言/C++

C++循环链表中进行元素的翻转

2017-10-22 20:03 92 查看
//循环链表的翻转函数
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: