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

admin2018-08-12  17

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

选项

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

解析
转载请注明原文地址:https://jikaoti.com/ti/S1fjFFFM
0

最新回复(0)