我只是个小菜,写这些东西是为了记下以后看,有什么问题欢迎大家指出,共同进步!
typedef struct LNode{
int data;
LNode *next;
}*LinkList;
void ListInsert(LinkList &L,int i,int e)
{
LinkList p = L;
int j = 0;
while(p&&j<i-1) {p = p->next;++j;}
if(!p||j>i-1) cout<<"error2.."<<endl;
LinkList s = (LinkList)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;
p->next = s;
}
void ListDelete(LinkList &L,int i,int &e)
{
LinkList p = L;
int j = 0;
while (p->next && j<i-1)
{
p = p->next;
++j;
}
if(!(p->next)||j>i-1){cout<<"error3.."<<endl;}
LinkList q = p->next;
p->next = q->next;
e = q->data;
free(q);
}
void CreateList(LinkList &L,int n)
{
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;
for (int i = 0; i<n; ++i)
{
LinkList p = (LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->next = L->next;
L->next = p;
//p->next = NULL;L->next = p;L = p;
}
}
void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc)
{
LinkList pa = La->next;
LinkList pb = Lb->next;
LinkList pc = La;
Lc = pc;
while (pa&&pb)
{
if (pa->data<=pb->data)
{
pc->next = pa;
pc = pc->next;
pa = pa->next;
}
else
{
pc->next = pb;
pc = pc->next;
pb = pb->next;
}
}
pc->next = pa?pa:pb;
}