L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置,如原单链表元素依次为1,2,3,4,则逆置后为4,3,2,1。 函数接口定义: 1 voidListReverse_L(LinkList &L); 其中L是一个带头结点的单链表。 裁判测试程序样例 1 2 3 4 5 6 7 8 9 10 1...
(6) 有一个单链表L(至少有1个结点),其头结点指针为head,编写一个过程将L逆置,即最后一个结点变成第一个结点,原来倒数第二个结点变成第二个结点,如此等等。【燕山大学 2001 四、2(8分)】相关知识点: 试题来源: 解析 类似本题的另外叙述有: 反馈
第二章作业说明-带头结点单链表地逆置 //带头结点的单链表就地逆置,很多同学将头结点也移动到了最后//单链表存储结构定义typedefintElemType;//假设元素类型为int,具体应用中需要改写typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;StatusListInverse_L(LinkList&L){LNode*p,*q;p=L->next...
五、算法设计题(每小题4分,共12分) 1、已知有一个单链表(带头结点),其头指针为head,请编写一个函数计算单链表中结点的个数,并分析你的算法的时间复杂度。 2、请编写一个算法,对单链表(带头结点)实现就地逆置(设头指针为head)。 3、二叉树采用链式存储结构,试设计一个算法计算一棵给定二叉树的深度。©...
单链表就地逆置算法C语言版 Status Contrary(LinkList L) LinkList p,q;p=L->next;L->next=NULL;while(p!=NULL){ q=p;p=p->next;q->next=L->next;L->next=q;} return OK;}
对不带头结点的单链表进行就地逆置。该算法用L返回逆置后的链表的头指针。 void reverse(linklist&L) { p=null;q=L; while(q!=null) { ___;∥暂存后继 q->next=p; p=q; ___;∥待逆置结点 } ___;∥头指针仍为L }相关知识点: 试题来源...
void reverse(LinkList &L)//单链表的就地逆置{ p=L->next;if(p=NULL|| p->next=NULL)return OK;//空表和表中只有一个结点时,不用逆置。while(p->next!=NULL){ q= p->next;p->next=q->next; //删除结点q,但未释放 q->next=L->next;L->next=q; //将q插入头结点之...
1、在长度为n的顺序表的第i(1<=i<=n+1)个位置上插入一个元素,元素的移动次数为() A.n-i+1 B. n-i C. i D. i-1 2、若一个顺序表中第一个元素的存储地址为1000,每个元素占4个地址单元,那么,第6个元素的存储地址应是() A.1020 B。1010 C。1016 D。1024 3、带头结点的单链表(以head为头...
1、实现单链表的就地逆置。 2、建立两个非递减有序单链表,然后合并成一个非递减链表。 3、建立两个非递减有序单链表,然后合并成一个非递增链表。 4、编写一个主函数,调试上述算法。 四、选做题、思考题 1、如何用带表头结点的单链表作为多项式的存储表示,实现两个多项式的相加。 2、约毖夫环的实现。 3、如...
试写一算法,对单链表实现就地逆置。 参考答案: 您可能感兴趣的试卷 你可能感兴趣的试题 2.问答题已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同),同时释放被删结点空间,并分析你的算法的时间复杂度。