怎么求两个有序链表的合并,并集,交集

#include <stdio.h>#include <stdlib.h>typedef struct LinkList //链表定义{ int data; struct LinkList* next;}LinkList;int initList(LinkList* L) //初始化链表{ L->data = -1; L->next = (LinkList*)malloc(sizeof(LinkList)); L->next = NULL; return 0;}int insert(LinkList* L, int index, int d) //插入链表{ LinkList* p; LinkList* s; int j; p = L;j = 0; while (p && (j < index - 1)) { p = p->next; ++j; } if (!p || j > index - 1) return 0; s = (LinkList*)malloc(sizeof(LinkList)); s->data = d; s->next = p->next; p->next=s; return 1;}int reverselist(LinkList* L) //链表倒序排列{ LinkList* p1, * p2, * p3; p1 = L->next; p2 = NULL; L->next = NULL; while (p1) { p3 = p1->next; p1->next = p2; p2 = p1; p1 = p3; } L->next =p2; return L;}int combinetwoList(LinkList L1, LinkList L2) //合并两个有序链表{ }int UniontwoList(LinkList L1, LinkList L2) //求两个链表的并集{ }int JointwoList(LinkList L1, LinkList L2) //求两个链表的交集{ }int printList(LinkList L) //输出链表数据{ LinkList* p = (LinkList*)malloc(sizeof(LinkList)); p = L.next; while (p) { printf("%d\t", p->data); p = p->next; } printf("\n"); return 1;}int main(void){ LinkList l1, l2; initList(&l1); initList(&l2); insert(&l1, 1, 1); insert(&l1, 2, 2); insert(&l1, 3, 3); insert(&l1, 4, 4); insert(&l1, 5, 5); insert(&l2, 1, 1); insert(&l2, 2, 3); insert(&l2, 3, 5); insert(&l2, 4, 7); insert(&l2, 5, 9); printList(l1); printList(l2); combinetwoList(l1, l2); UniontwoList(l1, l2); JointwoList(l1, l2); reverselist(&l2); printList(l2); printf("Complete!");}

厉害,结果都输出出来了
关注下吧,有问题共同探讨