1. 程式人生 > >C語言實現單鏈表反轉

C語言實現單鏈表反轉

最近在考研複習,記錄一下基礎的資料結構演算法,有事沒事翻一翻,以防忘了

自己寫了個翻轉連結串列演算法,感覺要比別人的要通俗易懂些

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;
}