2
我正在寫一個函數,它需要一個鏈接列表反轉元素,然後打印結果。我運行它時無法正常工作;它只打印第一個值。顛倒鏈接列表並打印結果
typedef struct node {
ElemType val;
struct node *next;
} NODE;
struct list_struct {
NODE *front;
NODE *back;
};
//reverse elements in list
void lst_reverse(LIST *l) {
NODE *p = l->front;
NODE *prev = NULL;
NODE *current = p;
NODE *next;
while (current != NULL) {
next = current->next;
current->next = prev;
prev = current;
current = next;
}
p = prev;
lst_print(l);
}
感謝您真正幫助的解釋:
相反,你應該像更新列表的前面(反面)。思考完後纔有意義。再次感謝你。 – Rbutler93 2014-12-04 07:49:18