#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode;
void insert(LNode *A,int i)
{
LNode *p;
p=(LNode*)malloc(sizeof(LNode));
p->data=i;
p->next=A->next;
A->next=p;
}
/*
void Sqlit(LNode *A,LNode **B)
{
LNode *p,*q,*r;
*B=(LNode*)malloc(sizeof(LNode));
(*B)->next=NULL;
r=*B;
p=A;
while(p->next!=NULL)
{
if(p->next->data%2==0)
{
q=p->next;
p->next=q->next;
q->next=NULL;
r->next=q;
r=q;
}
else
p=p->next;
}
} */
void Sqlit(LNode *A,LNode **B)
{
LNode *p,*q;
*B=(LNode*)malloc(sizeof(LNode));
(*B)->next=NULL;
q=*B;
p=A;
while(p->next!=NULL)
{
if(p->next->data%2==0)
{
q->next=p->next;
q=q->next;
p->next=q->next;
q->next=NULL;
}
else
p=p->next;
}
}
int main()
{
LNode *A,*B,*p,*q;
int i;
A=(LNode*)malloc(sizeof(LNode));
A->next=NULL;
for(i=12;i>0;i--)
insert(A,i);
Sqlit(A,&B);
p=A;
q=B;
while(p->next!=NULL)
{
p=p->next;
printf("%d ",p->data);
}
printf("\n");
while(q->next!=NULL)
{
q=q->next;
printf("%d ",q->data);
}
printf("\n");
system("pause");
return 0;
}
二级指针(链表建立、打印)
最新推荐文章于 2023-02-25 13:15:03 发布