在单链表中,每个结点含有5个正整型的数据元素(若最后一个结点的数据元素不满5个,以值0充),试编写一算法查找值为n(n>0)的数据元素所在的结点指针以及在该结点中的序号,若链表中不存在该数据元素则返回空指针。

admin2017-01-04  12

问题 在单链表中,每个结点含有5个正整型的数据元素(若最后一个结点的数据元素不满5个,以值0充),试编写一算法查找值为n(n>0)的数据元素所在的结点指针以及在该结点中的序号,若链表中不存在该数据元素则返回空指针。

选项

答案这是一个在单链表中查找结点,在结点内查找给定值的过程,先定义存储结构。 typedef struct node{ int A[m]: //每个结点内含有m个正整数,本例中m为5 struct node *next; //指向下一结点的指针 }LNode,*LinkList: typedef struct{ int j; //i整数在结点内的序号 struct node *s; //结点的指针 }rcd; rcd * LSearch(LinkList head,int n){ //在链表中查找正整数n,若查找成功,返回该结点指针及n在结点中的序号, //否则返回空指针表示失败。 rcd*R; P=head一>next; //假定链表带头结点,P指向链表第一元素结点 int found=0. mt 1; while(P&&!found){ for(i=0;i<m;i++) if(P->A[i]==n)found=1 //查找成功 P=P->next: //下一结点 } if(P==null)return(null); else{R.j=i;R.S=P;return(R);} }

解析
转载请注明原文地址:https://kaotiyun.com/show/vQRi777K
0

最新回复(0)