一个c语言数据结构题,一个指针的作用不懂,求解答

2025-03-31 18:44:13
推荐回答(2个)
回答1:

pre是记录每一趟A和B比较的A的起始结点,如果没有就没法正确比较,会出现找不到复杂的子序列的情况。
假如A序列值是(下面的数字是结点的值)
1->2->1->2->1->3->(NULL)
B序列
1->2->1->3->(NULL)
上面的结点数据,如果没有pre就不能回溯,就找不到子序列1213,所以必须有这个pre,才能回溯到上次比较的下一结点。

回答2:

算法的思想是:
1、从A中取出一个数据,作为当前头结点(pre),比较和B中第一个数据是否一样,如果一样则执行第2步,否则执行第3步
2、如果一样则取出A和B的下一个数据,再进行比较
3、不一样则重新选择头结点(pre),和B中第一个数据比较。
以上三步循环执行。
pre的作用就是记录本次循环的头结点。