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

来源:互联网 发布:人工智能简史 pdf 编辑:程序博客网 时间:2024/06/05 01:15
//循环链表的翻转函数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;}}

原创粉丝点击