历年计算机算法真题.docVIP

  • 5
  • 0
  • 约1.02千字
  • 约 3页
  • 2018-04-17 发布于河南
  • 举报
历年计算机算法真题

09 42.(15 分)已知一个带有表头结点的单链表,结点结构为 该链 表只 给出 了头 指针list。在不改变链表的前提下, k 个位置上的结点(k 为正整数)。若查 data 值,并返回 1;否则,只返回 0。要求: 1) 描述算法的基本设计思想 2) 描述算法的详细实现步骤 3) 根据设计思想和实现步骤,采用程序设计语言描述算法(使用 C 或 C++或 JAVA 语言42. (1)算法基本思想如下:从头至尾遍历单链表,并用指针 P 指向当前节点的前 K 个节 P 所指向的节点即为所查找的节点。 2)详细实现步骤:增加两个指针变量和一个整型变量,从链表头向后遍历,其中指针 P1 P 指向 P1 所指向节点的前 K 个节点,如果 P1 之前没有 K 个节点,那 P 指向表头 i 表示当前遍历了多少节点,当 ik 时,指针 p 随着每次遍历,也向前移p 或者指向表头就节点,或者指向链表中倒数第 K 个位置上的节点。 3)算法描述: Int LocateElement(linklist list,int k) { P1=list-link; P=list; i=1; while(P1) { P1=P1-link; i++; if(ik) p=p-next; //如果 ik,则 p 也往后移 } if(p==list) return 0; //说明链表没有 k 个结点

文档评论(0)

1亿VIP精品文档

相关文档