要求写一个函数,给定一个固定的单链表,输入beginend,将下标在两数之间的内容逆置。如单链表0->3->6->9->12->15->18输入24输出0->3->12->9->6->15->18。已经写出逆置函数,打算把beginend作为你逆序算法的链表头和尾来处理,不过后续不知道怎么改了。。。求助各位大神了!voidreverse(intbegin,intend,List*&head){{List*new1=NULL,*now,*old;old=head;while(old!=NULL){now=old;old=old->next;now->next=new1;new1=now;}head=new1;}}
2 回答
FFIVE
TA贡献1797条经验 获得超6个赞
这样吧,我只写思路了.你定义一个计数变量count,然后从List头部开始遍历List,同时count++当count当begin<=count<=end时,将每个ListElmt复制到新的NewList2中,并使后一个ListElmt的元素指针指向前一个ListElmt,最后将NewList中的最后一个ListElmt的指针指向NewList2中的最后一个ListElmt 当count>end时,同count
添加回答
举报
0/150
提交
取消