最近在考研复习,记录一下基础的数据结构算法,有事没事翻一翻,以防忘了
自己写了个翻转链表算法,感觉要比别人的要通俗易懂些
void Reverse(List *L){
//分别是当前节点,直接前驱节点,直接后继节点
LNode *current, *pre, *pnext;
//初始化
current = L -> next;
pre = NULL;
while(current != NULL){
//保留后继节点
pnext = current -> next;
//新的后继指向前驱实现反转
current -> next = pre;
//将当前节点向后移动
pre = current;
current = pnext;
}
return;
}