(15分)已知一个带有表头结点的单链表,结点结构为:
\[
\begin{array}{|c|c|}
\hline
\texttt{data} & \texttt{link} \\
\hline
\end{array}
\]
假设该链表只给出了头指针 list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第 k 个位置上的结点( k 为正整数)。若查找成功,算法输出该结点的 data 域的值,并返回 1;否则,只返回 0。要求:
⑴ 描述算法的基本设计思想;(5分)
⑵ 描述算法的详细实现步骤;(5分)
⑶ 根据设计思想和实现步骤,采用程序设计语言描述算法(使用 C、C++或 Java 语言实现),关键之处请给出简要注释。(5分)