看板 C_and_CPP 關於我們 聯絡資訊
問題(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
killermomo:順便請問...這樣的寫法好嗎?會不會太多餘? 05/05 08:30
TsinTa:怎麼看都不覺得這會反轉@@" 05/05 08:55
lions0164:我也想問反轉和Sort該怎麼用List作.. 05/05 18:53
SHANGOYANYI:問題出在reverse中pmiddle->pnext=pleft->pnext;這句 05/07 10:10