对链表进行操作时,代码的顺序会影响到程序的执行结果
如:对双链表进行头部插入操作时,操作顺序为:
此处new->pNext = pH->pNext;语句必须要在pH->pNext = new;之前执行,因为将new赋值给pH->pNext的操作会改变 pH->pNext的值,而new->pNext = pH->pNext需要将pH->pNext未改变之前的值赋值给new->pNext,所以对值有改变的语句要后执行。
对双链表的前向遍历过程中也存在这个问题:
赋值操作在打印语句之前的情况如下:
赋值操作在打印语句之后的情况如下: