知识大全 数据结构考研分类复习真题 第二章 答案[3]
Posted 结点
篇首语:不学习历史的人注定要重复错误。——丘吉尔本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第二章 答案[3]相关的知识,希望对你有一定的参考价值。
.
.从任一结点出发都可访问到链表中每一个元素
.u=p >next; p >next=u >next; free(u);
.L >next >next==L .p >next!=null
.L >next==L && L >prior==L
.s >next=p >next;p >next=s;
.( ) IF pa=NIL THEN return(true); ( ) pb<>NIL AND pa^ data>=pb^ data ( ) return(inclusion(pa pb)); ( ) pb:=pb^ next; ( ) return(false); 非递归算法 ( )pre:=pb; ( ) pa<>NIL AND pb<>NIL AND pb^ data>=pa^ data ( )pa:=pa^ next; pb:=pb >next; ( )pb:=pre^ next;pre:=pb;pa:=pa^ next; ( )IF pa=NIL THEN return(true) ELSE return(false); [注] 本题是在链表上求模式匹配问题 非递归算法中用指针pre指向主串中开始结点(初始时为第一元素结点) 若主串与子串对应数据相等 两串工作指针pa和pb后移;否则 主串工作指针从pre的下一结点开始(这时pre又指向新的开始结点) 子串工作指针从子串第一元素开始 比较一直继续到循环条件失败 若pa为空 则匹配成功 返回true 否则 返回false
.A.VAR head:ptr B new(p) C p^ data:=k D q^ next:=p E q:=p(带头结点)
.( ) new(h);∥生成头结点 以便于操作 ( ) r^ next:=p; ( ) r^ next:=q; ( ) IF (q=NIL) THEN r^ next:=p;
.A: r^ link^ data<>max AND q^ link^ data<>max B: r:=r^ link C: q^ link D: q^ link E: r^ link F: r^ link G: r:=s(或r:= r^ link) H: r:=r^ link I: q^ link:=s^ link
cha138/Article/program/sjjg/201311/23368相关参考
.()la () &
.[题目分析]本题所用数据结构是静态双向链表其结构定义为 typedef struct node char data[maxsize];∥用户姓名maxsize是
()voidCreatOut()∥建立有n个单词的单向链表重复单词只在链表中保留一个最后输出频度最高的k个单词 LinkedListla; la=(LinkedList)malloc(size
.[题目分析]在递增有序的线性表中删除数值相同的元素要知道被删除元素结点的前驱结点 LinkedListDelSame(LinkedListla) ∥la是递增有序的单链表本算法去掉数值相同的
()要求编程实现带头结点的单链表的逆置首先建立一单链表然后逆置 typedef struct node int data;∥假定结点数据域为整型 struct&
()本题与上面两题类似要求结果指针为lc其核心语句段如下 pa=la>next;pb=hb>next; lc=(LinkedList)malloc(sizeof(LNode));
.设 q:=p^llink; 则 q^rlink:=p^rlink; p^rlink^llink:=q; p^llink:=q^llink; q^lli
.[题目分析] 知道双向循环链表中的一个结点与前驱交换涉及到四个结点(p结点前驱结点前驱的前驱结点后继结点)六条链 void Exchange(LinkedListp)∥p是
.[题目分析]顺序存储结构的线性表的逆置只需一个变量辅助空间算法核心是选择循环控制变量的初值和终值 void SeqInvert(ElemTypea[]intn)∥a是具有n个元素用一
.[题目分析]首先在双向链表中查找数据值为x的结点查到后将结点从链表上摘下然后再顺结点的前驱链查找该结点的位置 DLinkList locate(DLinkListLElemTypex