[問題] 關於單向鏈結串列反轉
問題(Question):
今天在實作鏈結串列反轉
想以一函式反轉串列,但輸出結果怪怪
一直找不到問題點...請程式前輩們幫忙指正一下...
餵入的資料(Input):
10 20 30 40 50
預期的正確結果(Expected Output):
50 40 30 20 10
錯誤結果(Wrong Output):
50
程式碼(Code):(請善用置底文網頁, 記得排版)
main()
{
int data=0;
node *phead =NULL;
scanf("%d",&data);
while(data!=-1)
{
AddNode(&phead,data);
scanf("%d",&data);
}
phead = reverse(phead);
ListAll(phead); //印出串列中所有資料 此函式功能測試為正常
printf("\n");
system("pause");
}
node* reverse(node *phead)
{
node *pleft = phead;
node *pmiddle = pleft->pnext;
node *pright = pmiddle->pnext;
while(pright!=NULL)
{
pmiddle->pnext = pleft->pnext;
pleft = pmiddle;
pmiddle = pright;
pright = pmiddle->pnext;
}
return pmiddle;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.171.204
→
05/05 08:30, , 1F
05/05 08:30, 1F
→
05/05 08:55, , 2F
05/05 08:55, 2F
→
05/05 18:53, , 3F
05/05 18:53, 3F
推
05/07 10:10, , 4F
05/07 10:10, 4F
討論串 (同標題文章)