2013年11月1日 星期五

C-反轉鏈結串列(單鏈)

C-反轉鏈結串列(單鏈)
因為每次都要重新推
所以乾脆PO在這邊好了
這個用的演算法是直接一個一個更改"下一個的指標(ptr->nl)"來達成
至於各個步驟詳解
等我想不開了再來製作
struct listNode
{
    data a;
    listNode *nl;  //nl:Next Link
}
listNode * Inverse(listNode *str)//鏈結串列反轉範例  str 為鏈結串列的起始端
{
    listNode *ptr=str,*tmp=NULL;  // tmp儲存"上一個的位置"
    while(ptr->nl!=NULL)
    {
        str=ptr->nl;
        ptr->nl=tmp;
        tmp=ptr;
        ptr=str;
    }
    ptr->nl=tmp;
    return str;
}

沒有留言:

張貼留言