判断单链表是否递增#include"head.h"
void Link(LinkList *&L1, LinkList *&L2)
{
LinkList *p = L1;
while(p->next != NULL)
p = p->next;
p->next = L2->next;
free(L2);
}
void InitList(LinkList *&L)
{
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
}
bool ListInsert(LinkList *&L,int i,ElemType e)
{
int j=0;
LinkList *p=L,*s;
while (j<i-1 && p!=NULL)
{
j++;
p=p->next;
}
if (pNULL)
return false;
else
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=e;
s->next=p->next;
p->next=s;
return true;
}
}
void DispList(LinkList *L)
{
LinkList *p=L->next;
while (p!=NULL)
{
printf("%d “,p->data);
p=p->next;
}
printf(”\n");
}
void DestroyList(LinkList *&L)
{
LinkList *p=L,*q=p->next;
while (q!=NULL)
{
free§;
p=q;
q=p->next;
}
free§;
}
#include"head.h"
void Link(LinkList *&L1, LinkList *&L2)
{
LinkList *p = L1;
while(p->next != NULL)
p = p->next;
p->next = L2->next;
free(L2);
}
void InitList(LinkList *&L)
{
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
}
bool ListInsert(LinkList *&L,int i,ElemType e)
{
int j=0;
LinkList *p=L,*s;
while (j<i-1 && p!=NULL)
{
j++;
p=p->next;
}
if (pNULL)
return false;
else
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=e;
s->next=p->next;
p->next=s;
return true;
}
}
void DispList(LinkList *L)
{
LinkList *p=L->next;
while (p!=NULL)
{
printf("%d “,p->data);
p=p->next;
}
printf(”\n");
}
void DestroyList(LinkList *&L)
{
LinkList *p=L,*q=p->next;
while (q!=NULL)
{
free§;
p=q;
q=p->next;
}
free§;
}
#ifndef HEAD_H_INCLUDED
#define HEAD_H_INCLUDED
#include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LinkList;
void InitList(LinkList *&L);
bool ListInsert(LinkList *&L,int i,ElemType e);
void DispList(LinkList *L);
void Link(LinkList *&L1, LinkList *&L2);
void DestroyList(LinkList *&L);
#endif // LINKLIST_H_INCLUDED# 判断单链表是否递增#已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,请设计算法将L2连接到L1的后面。实现这个算法,完成测试,