思路:最直接的思路就是遍历链表找到该节点前一个节点,再进行插入操作,但是此处不能遍历链表。所以我们可以先在该节点后面插入一个节点,然后交换两个节点的数据,就等价于再该节点前面插入一个节点。
代码:
void Insert(List L, int x)//分别为插入节点位置和要插入节点的数据
{
List NewNode = (List)malloc(sizeof(struct Node));
NewNode->Data = x;
NewNode->Next = L->Next;
L->Next = NewNode;
x = L->Data;
L->Data = NewNode->Data;
NewNode->Data = x;
}