#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LinkNode;
void fen( LinkNode *&L,LinkNode *&L1,LinkNode *&L2);
void display(LinkNode *L);
void creat(LinkNode *&L);
int main()
{
LinkNode *L;
LinkNode *L1;
LinkNode *L2;
creat(L);
display(L);
fen(L,L1,L2);
display(L1);
display(L2);
}
void creat(LinkNode *&L)
{
int a[10];
int i;
LinkNode *s,*r;
L=(LinkNode *)malloc(sizeof(LinkNode));
r = L;
for( i=0; i< 10 ; i++)
{
scanf("%d",&a[i]);
s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=a[i];
r->next = s;
r = s;
}
s->next=NULL;
}
void fen( LinkNode *&L,LinkNode *&L1,LinkNode *&L2)
{
LinkNode *p = L->next,*q,*r1;
L1 = L;
r1 = L1;
L2=(LinkNode *)malloc(sizeof(LinkNode));
L2->next=NULL;
while(p!=NULL)
{
r1->next = p;
r1 = p;
p = p->next;
q = p->next;
p->next = L2->next;
L2->next=p;
p = q;
}
r1->next=NULL;
}
void display(LinkNode *L)
{
LinkNode *p = L->next;
while(p!=NULL)
{
printf("%d ",p->data);
p = p->next;
}
printf("\n");
}
單鏈表--L拆分成L1,L2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.