C语音,函数padd的功能是调整pa指向的链表中结点的位置,使得所有x值为偶数的结点出现在链表的前半部,所有x值为奇数的结点出现在链表的后半部。
Posted yanglike111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语音,函数padd的功能是调整pa指向的链表中结点的位置,使得所有x值为偶数的结点出现在链表的前半部,所有x值为奇数的结点出现在链表的后半部。相关的知识,希望对你有一定的参考价值。
#include <stdio.h> #include <stdlib.h> typedef struct node {int x; struct node *next; }NODE; NODE *padd(NODE *pa) { NODE *p1,*p2,*p; p1=p2=pa; while(p1) { if(p1->x%2==0 && p1!=pa) { p=p1;p1=p1->next; p2->next=p1; p->next=pa;pa=p; } else {p2=p1;p1=p1->next; } } return pa; } int main(int argc, char *argv[]) { NODE a[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}},*ha=a,*p; int i; for(i=0;i<9;i++) a[i].next=&a[i+1]; a[9].next=NULL; ha=padd(ha); p=ha; while(p) printf("%d ",p->x);p=p->next; putchar(‘ ‘); return 0; }
运行结果:
以上是关于C语音,函数padd的功能是调整pa指向的链表中结点的位置,使得所有x值为偶数的结点出现在链表的前半部,所有x值为奇数的结点出现在链表的后半部。的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode No.138 复制带随机指针的链表(回溯)
Leetcode No.138 复制带随机指针的链表(回溯)