编辑代码

#include <stdio.h>  
#include <stdlib.h>

typedef struct Node {  
    int data;  
    struct Node* next;  
} Node;

Node* createNode(int data) {  
    Node* newNode = (Node*)malloc(sizeof(Node));  
    newNode->data = data;  
    newNode->next = NULL;  
    return newNode;  
}

void insert(Node** head, int data, Node* pd) {  
    Node* newNode = createNode(data);  
    newNode->next = *head;  
    *head = newNode;  
}

void append(Node** head, int data) {  
    Node* newNode = createNode(data);  
    if (*head == NULL) {  
        *head = newNode;  
    } else {  
        Node* temp = *head;  
        while (temp->next != NULL) {  
            temp = temp->next;  
        }  
        temp->next = newNode;  
    }  
}

void printList(Node* head) {  
    while (head != NULL) {  
        printf("%d -> ", head->data);  
        head = head->next;  
    }  
    printf("NULL\n");  
}

int main() {  
    Node* LA = NULL;  
    Node* LB = NULL;

    append(&LA, 1);  
    append(&LA, 4);  
    append(&LA, 7);

    append(&LB, 2);  
    append(&LB, 5);

    Node* pd = LB;  
    insert(&LA, 2, pd->data);

    printList(LA);  
    printList(LB);

    return 0;  
}