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

admin2019-08-15  26

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

选项

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

最新回复(0)