本题为算法题,交换的是结点,而不是结点的值
-
注意题目是交换结点,不是交换结点的值。
-
设q为1,p为2,r为3,r->next为4.原来为1234
-
1指向3,2指向4,3指向2.最终顺序为1324
-
结果如图所示,与交换了值的结果相同,但其本质上是交换了结点
代码如下
#include <stdio.h>
#include <stdlib.h>
//定义结点结构
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
//初始化链表
bool InitList(LinkList &L)
{
L=(LNode *)malloc(sizeof(LNode));
if