我正在尝试以相反的顺序打印链接列表,但是当我运行它时,它不打印出来。它只是在打印正确的订单后停止,输出屏幕在此之后挂起。这是我的代码:
-1 -1 -1
-1 9 -1
-1 -1 -1
谢谢!
答案 0 :(得分:4)
代码有两个问题。
1)next=current;
应该是next=current->next;
,正如@BLUEPIXY在评论中指出的那样
2)在致电reverse
后,您丢失了列表,即main中的head
不再指向列表的头部。要解决这个问题,你可以这样做:
struct node* reverse(struct node *head)
{
....
return head;
}
并在main
head = reverse(head);
另一种解决方案是:
void reverse(struct node **head) { ... }
^
notice
// Called from main as: reverse(&head);
然后在函数中使用之前取消引用head
。这将对*head
中的head
进行更改以更改main
中的malloc
。
BTW:不要转换./spark-ec2 --key-pair=spark-cluster --identity-file=/Users/abc/spark-cluster.pem --slaves=3 --region=us-west-1 --zone=us-west-1c --vpc-id=vpc-2e44594 --subnet-id=subnet-18447841 --spark-version=1.6.1 launch spark-cluster