读入n个整数(遇到0结束),逆序创建n个节点的链表。
要求:依次遍历链表,将该链表中所有的奇数,插入到表尾,形成偶数在前,奇数在后的形式。
例如:
输入:23 17 28 96 0
输出:
28
96
23
17
void createList(PNODE h){
int num=0,a=0,i=1,flag=0;PNODE p;PNODE q;
p=(PNODE)malloc(sizeof(NODE));
h->next = p;p->next = NULL;
scanf("%d",&num);p->data=num;
while(1){
scanf("%d",&num);
if(num==0){break;}
else{
if(num%2==1){
p=h;
while(p->next != NULL){
p=p->next;
}
q=(PNODE)malloc(sizeof(NODE));q->next=NULL;
p->next=q;q->data=num;
}else{
p=h;flag=0;
for(i=1;i;i){
a=(p->next)->data;a%=2;
if(p->next==NULL){flag=1;break;}
if(a==1){break;}
if(a==0) p=p->next;
}
if(flag==1){
q=(PNODE)malloc(sizeof(NODE));q->next=NULL;
p->next=q;q->data=num;
}else if(flag==0){
q=(PNODE)malloc(sizeof(NODE));q->next=NULL;
q->next=p->next;p->next=q;q->data=num;
}
}
}
}
}
void deployList(PNODE h){
;
}