初学者求指教,一个有关链表的有关问题
菜鸟求指教,一个有关链表的问题
int d;
cin>>d;
struct Node *temp = head;
while(d != -1)
{
struct Node *node = (struct Node *)malloc(sizeof(struct Node));
node->data = d;
temp->next = node;
temp = node;
cin>>d;
}
其中, temp->next = node; temp = node;这两句是什么意思,没有temp = node行不行?自学数据结构,不太懂……
------解决思路----------------------
temp = node;
可以让下一次循环来的时候从上次插入的位置继续往后插入,否则的话 temp 一直指向 head, 每次都是从头插入的。
------解决思路----------------------
把temp名字改成tail, 你就明白了
int d;
cin>>d;
struct Node *temp = head;
while(d != -1)
{
struct Node *node = (struct Node *)malloc(sizeof(struct Node));
node->data = d;
temp->next = node;
temp = node;
cin>>d;
}
其中, temp->next = node; temp = node;这两句是什么意思,没有temp = node行不行?自学数据结构,不太懂……
------解决思路----------------------
temp = node;
可以让下一次循环来的时候从上次插入的位置继续往后插入,否则的话 temp 一直指向 head, 每次都是从头插入的。
------解决思路----------------------
把temp名字改成tail, 你就明白了