运行结果:
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList link(LinkList S,LinkList T)//将S,T链接成新的链表并返回新链表指针……以S的顺序为主排序返回……
{
LinkList p,q,r,s,t;
int k=0;
s=S;
t=T;
if(s->next->data<s->next->next->data)k=1; //用k来控制S为递增或递减的操作k==1代表升序的操作
p=q=(LinkList)malloc(sizeof(LNode));//带头节点
while(s->next!=NULL)//复制S链表
{
r=(LinkList)malloc(sizeof(LNode));
r->data=s->next->data;
q->next=r;
q=r;
s=s->next;
}
q->next=NULL;
q=p;