您的位置:首页 > 其它

链表翻转/逆序

2017-03-17 13:45 176 查看
// 链表翻转

// 整个过程即:对开始为第一个的元素(固定,地址不变)之后的元素 断链、头插的过程;

void list_reversal1(linknode *H)    // 从第二个元素(第三个节点)开始,依次头插     

{
linknode *p = H->next,*q = NULL;   
// p-开始时第一个元素的地址 , q- p下一个元素的地址
while(p->next)                 //   要使用的节点的地址不为空 (NULL)
{
q = p->next;        //找到p后面的第一个地址q
p->next = q->next;  // 断开 q地址的节点 ,

q->next = H->next;     //头插 
H->next = q;
  //头插 
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: