2013年11月4日 星期一
2013年11月3日 星期日
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;
}
因為每次都要重新推
所以乾脆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;
}
訂閱:
文章 (Atom)