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;
}
沒有留言:
張貼留言