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

图一是题目,我不懂这里pre指针的作用?如果没有pre会是什么后果???

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

感谢

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-05
算法的思想是:
1、从A中取出一个数据,作为当前头结点(pre),比较和B中第一个数据是否一样,如果一样则执行第2步,否则执行第3步
2、如果一样则取出A和B的下一个数据,再进行比较
3、不一样则重新选择头结点(pre),和B中第一个数据比较。
以上三步循环执行。
pre的作用就是记录本次循环的头结点。

关于C语言指针的问题
在指针的算术运算中,指针所指向的类型有很大的作用。 指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越 来越熟悉时,你会发现,把与指针搅和在一起的"类型"这个概念分成"指针的 类型"和"指针所指向的类型"两个概念,是精通指针的关键点之一。我看了不 少书,发现有些写得差的书中,就把...

c语言指针的作用
该语言指针的作用如下:1、动态内存分配:使用C语言指针,程序可以在运行时动态分配内存,这使得程序能够更灵活地处理各种大小和类型的数据。2、修改原始数据:通过C语言指针用户可以修改指向的数据,这对于很多算法来说非常重要,尤其是涉及到数组或列表的算法。3、实现复杂的数据结构:通过使用C语言指针,用...

指针的用途
(3)利用指针可以实现 动态内存分配 。(4)指针还用于表示和实现各种复杂的数据结构,从而为编写出更加高质量的程序奠定基础。(5)利用 指针可以直接操纵内存地址 ,从而可以完成和汇编语言类似的工作。(6)更容易实现函数的编写和调用 C语言中的指针 通过指针来分配一个地址 (地址),是去读地址里...

指针的作用是什么啊?
第一,指针的使用使得不同区域的代码可以轻易的共享内存数据。当然小伙伴们也可以通过数据的复制达到相同的效果,但是这样往往效率不太好。因为诸如结构体等大型数据,占用的字节数多,复制很消耗性能。但使用指针就可以很好的避免这个问题,因为任何类型的指针占用的字节数都是一样的(根据平台不同,有4字...

c语言指针用法?
指针是C语言中的一个核心概念,它表示一个变量的地址。通过指针,我们可以间接访问其他变量或数据结构。在声明指针时,需要使用“*”符号来表示这是一个指针类型。例如,int *p 表示p是一个指向整型数据的指针。指针的主要用法之一是指向变量。我们可以将指针变量指向一个具体的变量,然后通过...

C语言的数组和指针问题,谢谢高手的解答!
因此 ,我们看出,B的作用就相当于指针p作用..是吧?只是p的值可以变,B不可以,所以B是常指针。是一级的,指向一个int元素(第一个元素)。2)同理,我们看 int B[3][4]={0}...这个是一个3*4的二维数组,B[0],B[1],B[2]都是一个一维数组是吧?可以想像成这个样子:int (B[0]...

数据结构c语言版一道题求解
,element[n - 1]存放线性表中的元素 *\/}; typedef struct SeqList *PSeqList;PSeqList createNullList_seq(int m ) {\/* 创建新的顺序表 *\/ PSeqList palist= (PSeqList)malloc(sizeof(struct SeqList)); if (palist!=NULL){ palist->element= (DataType*)malloc(size...

一份C语言的数据结构题目,急求答案
第一题;Search (BiTree t,ElemType x){ struct nodee;{BiTree pp;int tag;}s[100];int top; Bitree p;top=0; p=t;while(p!=NULL&&p->p!=NULL){while(p!=NULL&&p->data!=x){top++;s[top].pp=p;s[top].tag=0;p=p->lchild;} if(p!=NULL&&p->data==x){for(i=1...

计算机c语言中的指针学了有哪些用处
在计算机C语言编程中,指针的使用能够显著提升代码效率与灵活性。它能够快速访问数组元素,比如要访问数组的下一个元素,只需对指针进行自增操作,访问上一个元素则自减,要跳转到数组下一行则自增指针行数,而要回到上一行则进行相应的减法操作。这种特性特别适用于快速处理图像,比如在处理1024x768像素的...

c语言 数据结构 本人不才看不出问题 ,希望各位大虾指教,谢谢、、请说...
sequenlist *L=NULL; \/\/这里声明了一个指针,最好赋上初值NULL char ch = 'a';int k ;\/\/L指针在没有指定有效地址空间时,是不能直接使用的!不然它指向的是NULL不能操作 L=(sequenlist *)malloc( sizeof(sequenlist) ); \/\/为指针分配一个有效的空间才可以用哦 ...printf("插入A B C D...

相似回答