正在加载图片...
3.采用链式存储结构,它根据实际需要申请内存空间,而当不需要时又可将不用结点 空间返还给系统。在链式存储结构中插入和删除操作不需要移动元素 4.线性表栈队列串 顺序存储结构和链式存储结构 顺序存储结构的定义是 c0 NST maxlen=线性表可能达到的最大长度; TYPE sqlisttp=RECORD elem: ARRAY[l. maxlen] OF ElemType last: 0. maxlen 链式存储结构的定义是: TYPE pointer= f nodetype nodetype=RECORD data: ElemType next: pointer: linklisttp=pointe 5顺序映射时,a与aH的物理位置相邻;链表表示时a1与a1的物理位置不要求相邻 6.在线性表的链式存储结构中,头指针指链表的指针,若链表有头结点则是链表的头 结点的指针,头指针具有标识作用,故常用头指针冠以链表的名字。头结点是为了操作的统 、方便而设立的,放在第一元素结点之前,其数据域一般无意义(当然有些情况下也可存 放链表的长度、用做监视哨等等),有头结点后,对在第一元素结点前插入结点和删除第 结点,其操作与对其它结点的操作统一了。而且无论链表是否为空,头指针均不为空。首元 结点也就是第一元素结点,它是头结点后边的第一个结点 7.见上题6 8.(1)将next域变为两个域:pre和next,其值域均为0. maxsize。初始化时,头结 点(下标为0的元素)其next域值为1,其pre域值为n(设n是元素个数,且n< maxsize) (2)stalist[stalist [p]. pre].pre (3)stalist [p].next 9.在单链表中不能从当前结点(若当前结点不是第一结点)出发访问到任何一个结点, 链表只能从头指针开始,访问到链表中每个结点。在双链表中求前驱和后继都容易,从当前 结点向前到第一结点,向后到最后结点,可以访问到任何一个结点 10.本题是链表的逆置问题。设该链表带头结点,将头结点摘下,并将其指针域置空 然后从第一元素结点开始,直到最后一个结点为止,依次前插入头结点的后面,则实现了链 表的逆置。 11.该算法的功能是判断链表L是否是非递减有序,若是则返回“true”;否则返回“ false “。pre指向当前结点,p指向pre的后继 12. g=p->next: p->next=q->next: free(g) 13.设单链表的头结点的头指针为head,且pre=head; while(pre->next!=p)pre=pre->next s->next=p: pre->next=s 14.设单链表带头结点,工作指针p初始化为p=H-next; (1)while(p!=null & p->data!=X)p=p->next if(p==null) return(nul1);∥查找失败 1 se return(p);∥查找成功3.采用链式存储结构,它根据实际需要申请内存空间,而当不需要时又可将不用结点 空间返还给系统。在链式存储结构中插入和删除操作不需要移动元素。 4.线性表 栈 队列 串 顺序存储结构和链式存储结构。 顺序存储结构的定义是: CONST maxlen=线性表可能达到的最大长度; TYPE sqlisttp=RECORD elem:ARRAY[1..maxlen] OF ElemType; last:0..maxlen; END; 链式存储结构的定义是: TYPE pointer=↑nodetype; nodetype=RECORD data:ElemType; next:pointer; END; linklisttp=pointer; 5.顺序映射时,ai与 ai+1的物理位置相邻;链表表示时 ai与 ai+1的物理位置不要求相邻。 6.在线性表的链式存储结构中,头指针指链表的指针,若链表有头结点则是链表的头 结点的指针,头指针具有标识作用,故常用头指针冠以链表的名字。头结点是为了操作的统 一、方便而设立的,放在第一元素结点之前,其数据域一般无意义(当然有些情况下也可存 放链表的长度、用做监视哨等等),有头结点后,对在第一元素结点前插入结点和删除第一 结点,其操作与对其它结点的操作统一了。而且无论链表是否为空,头指针均不为空。首元 结点也就是第一元素结点,它是头结点后边的第一个结点。 7.见上题 6。 8.(1)将 next 域变为两个域: pre 和 next,其值域均为 0..maxsize。初始化时,头结 点(下标为 0 的元素)其 next 域值为 1,其 pre 域值为 n(设 n 是元素个数,且 n<maxsize) (2) stalist[stalist[p].pre].pre; (3) stalist[p].next; 9. 在单链表中不能从当前结点(若当前结点不是第一结点)出发访问到任何一个结点, 链表只能从头指针开始,访问到链表中每个结点。在双链表中求前驱和后继都容易,从当前 结点向前到第一结点,向后到最后结点,可以访问到任何一个结点。 10.本题是链表的逆置问题。设该链表带头结点,将头结点摘下,并将其指针域置空。 然后从第一元素结点开始,直到最后一个结点为止,依次前插入头结点的后面,则实现了链 表的逆置。 11.该算法的功能是判断链表 L 是否是非递减有序,若是则返回“true”;否则返回“false “。pre 指向当前结点,p 指向 pre 的后继。 12.q=p->next; p->next=q->next; free(q); 13. 设单链表的头结点的头指针为 head,且 pre=head; while(pre->next!=p) pre=pre->next; s->next=p; pre->next=s; 14.设单链表带头结点,工作指针 p 初始化为 p=H->next; (1) while(p!=null && p->data!=X) p=p->next; if(p= =null) return(null);∥查找失败 else return(p);∥查找成功
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有