已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求: 根据设

admin2013-09-16  55

问题 已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:
根据设计思想和实现步骤,采用程序设计语言描述算法C使用C或C++或JAVA语言实现),关键之处请给出简要注释。

选项

答案算 法描述: int LocateElement(Linklist list,int k) { p1=list一>link; p=list; i=1: while(p1) { p1=p1->link; i++; if(i>k)p=p一>next; //如果i>k,则p也往后移 } if(p==list)return 0; //说明链表没有k个结点 else { printf(”% d\n”,p-

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

随机试题
最新回复(0)