if(!L)exit(OVERFLOW); L->next=NULL;//先建立一个带头结点的单链表 rearPtr=L;//初始时头结点为尾节点,rearPtr指向尾巴节点 for(inti=1;i<=n;i++){//每次循环都开辟一个新节点,并把新节点拼到尾节点后 curPtr=(LNode*)malloc(sizeof(LNode));//生成新结点 if(!curPtr)exit(OVERFLOW); scanf...
第二章作业说明-带头结点单链表地逆置 //带头结点的单链表就地逆置,很多同学将头结点也移动到了最后//单链表存储结构定义typedefintElemType;//假设元素类型为int,具体应用中需要改写typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;StatusListInverse_L(LinkList&L){LNode*p,*q;p=L->next...
对不带头结点的单链表进行就地逆置。该算法用L返回逆置后的链表的头指针。 void reverse(linklist&L) { p=null;q=L; while(q!=null) { ___;∥暂存后继 q->next=p; p=q; ___;∥待逆置结点 } ___;∥头指针仍为L }相关知识点: 试题来源...
1、已知有一个单链表(带头结点),其头指针为head,请编写一个函数计算单链表中结点的个数,并分析你的算法的时间复杂度。 2、请编写一个算法,对单链表(带头结点)实现就地逆置(设头指针为head)。 3、二叉树采用链式存储结构,试设计一个算法计算一棵给定二叉树的深度。©...
2.假设线性表 L=(a1,a2,„„,an)用带头结点的单链表存储表示,试编写算法对其实现就地逆置,即利用原链表中每一个结点存储空间,使得元素的逻辑次序改变为(an,„„, a2,a1)。 3.设非空二叉树 T 采用中序线索二叉链表表示,写出 T 的存储结构类型描述。试编写算法 InOrderTraverse(T)实现对二叉树 T 的...
1、实现单链表的就地逆置。 2、建立两个非递减有序单链表,然后合并成一个非递减链表。 3、建立两个非递减有序单链表,然后合并成一个非递增链表。 4、编写一个主函数,调试上述算法。 四、选做题、思考题 1、如何用带表头结点的单链表作为多项式的存储表示,实现两个多项式的相加。 2、约毖夫环的实现。 3、如...
1.下面的函数是对不带头结点的单链表进行就地逆置的算法,该算法用L返回逆置后的链表的头指针,试在空缺处填入适当的语句。 voidreverse(linklist&L){ p=null;q=L; while(q!=NULL){①; q->next=p;p=q; ②; } ③; } 2.对单链表中元素按插入方法排序的算法如下,其中L为链表的头结点指针。请填充算法...
2.7试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., an)逆置为(an, an-1,..., a1)。 (1)以一维数组作存储结构,设线性表存于a(1:arrsize)的前elenum个分量中。 (2)以单链表作存储结构。 [方法1]:在原头结点后重新头插一遍 ...
一个结点。则采用(D)存储方式最节省运算时间。 A.单链表B.双向链表 C.单循环链表D.带头结点的双向循环链表 第六讲 2015年4月8日计算机科学与技术系9 9.链表不具有的特点是(B) A.插入、删除不需要移动元素B.可随机访问任一元素 C.不必事先估计存储空间D.所需空间与线性长度成正比 ...
下面是用C++语言编写的对不带头结点的单链表进行就地逆置的算法,该算法用L返回逆置后的链表的头指针,试在空缺处填入适当的语句。(每空2分,共3空,总计6分)voidrev