大二数据结构 希望给出规范答案

编程题
第一题
设有两个循环单链表,链表头指针分别为 L1 和 L2,编写一个函数将链表 L2 链接到 L1 之后,要求链接后的链表仍保持循环链表的形式,请完成以下代码。 

typedef int ElemType; 

struct Node {

Elementype data;

struct Node next;

} LNode;

LNode * Link(LNode *L1,  LNode *L2) 

{ // 将循环链表 L2 链接到循环链表 L1 之后,使之仍保持循环链表的形式 

LNode *p, *q; p=L1; q=L2; 

return L1;

 } 
第二题
已知一个带有头结点的单链表,假设该链表只给出了头指针 L,在不改变链表的前提下, 请设计一个算法,查找链表中倒数第 m个位置上的结点(m为正整数)。若查找成功,算法打印出该结点 data 域的值,并返回 1,否则,只返回 0。请完成以下代码。 

typedef int ElemType; 

typedef struct LNode

ElemType data; 

struct LNode *next; 

}LNode, *LinkList; 

int search_m(LinkList L, int m)

{  // 查找单链表 L倒数第 m个结点,

 并打印该结点 data 域值