![](https://cos-cdn.shuashuati.com/pipixue-wap/2020-1230-1107-56/ti_inject-812ce.png)
所属年份: 2010.9;2012.3;2013.3;2014.3 给定 , 函数 fun 的功能是将不带头结点的单向逆置 , 即若原中从头至尾结点数据域依次为 2,4,6,8,10, 逆置后 , 从头至尾结点数据域依次为 10,8,6,4,2 。 请在程序的下画线处填入正确的内容并把下画线删除 , 使程序得出正确的结果。 注意:部分源程序在文件 BLANK1.C 中。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的若干表达式或语句。 #include
#include
#define N 5 typedef struct node { int data; structnode *next; } NODE; /**********found**********/ __1__ * fun(NODE *h) { NODE *p, *q,*r; p = h; if (p == NULL) return NULL; q =p->next; p->next =NULL; while (q) { /**********found**********/ r =q->__2__; q->next =p; p = q; /**********found**********/ q = __3__ ; } return p; } NODE *creatlist(int a[]) { NODE *h,*p,*q; int i; h=NULL; for(i=0;i
data=a[i]; q->next= NULL; if (h ==NULL) h = p = q; else { p->next = q; p = q; } } return h; } void outlist(NODE *h) { NODE *p; p=h; if(p==NULL) printf("The list isNULL!\n"); else { printf("\nHead "); do { printf("->%d", p->data);p=p->next; } while(p!=NULL); printf("->End\n"); } } main() { NODE *head; int a[N]={2,4,6,8,10}; head=creatlist(a); printf("\nThe original list:\n"); outlist(head); head=fun(head); printf("\nThe list after inverting :\n"); outlist(head); }