首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一带头结点的循环双链表表示的线性表L=(a1,a2,…,aan—1,an)。设计在时间和空间上都尽可能高效的算法,将线性表L改造成L=(a1,a3,…,an,…,a4,a2)。要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出
假设有一带头结点的循环双链表表示的线性表L=(a1,a2,…,aan—1,an)。设计在时间和空间上都尽可能高效的算法,将线性表L改造成L=(a1,a3,…,an,…,a4,a2)。要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出
admin
2017-04-28
63
问题
假设有一带头结点的循环双链表表示的线性表L=(a
1
,a
2
,…,aa
n—1
,a
n
)。设计在时间和空间上都尽可能高效的算法,将线性表L改造成L=(a
1
,a
3
,…,a
n
,…,a
4
,a
2
)。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: void modify(struct node *head) { struct node *s=NULL; struct notie *L=head; struct : nocie *p=L—>next,*pl; L—>next=L—>prev NULL; for(;p !=L;p=pl) { if (p—>next ! =L) { pl=p—>next; p—>next=p1—>next; p1—>next—>prev=p; . //把偶数结点插入 s if {s==NULL) { s=p1; p1—>next=p1—>prev=p1; } else { p1—>next=s; p1—>prev=s—>prev; s —>prev—>next=pl; s —>prev=pl; s=s—>prevr pl=p—>next; L—>prev—>next=p; p—>next=L; p—>prev—L—>prev; L—>prev=p; if (s==NULL) return; p=s—>prev p—>next~L; L—>prev—>next=s ; s—>prev=L—>prev; L—>prev=p;
解析
转载请注明原文地址:https://kaotiyun.com/show/uHRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
二月革命后,俄国为什么会出现两个政权并存的局面?
简述马克思主义产生的历史条件。
开皇三年,隋文帝下令州县官吏根据户籍簿上登记的年龄,来核对本人体貌,以防诈老诈小逃避租役,是为()。
西欧早期资产阶级反封建斗争以反天主教会的方式进行,主要原因是()①天主教会是最有势力的封建主集团②天主教会是封建的精神工具③天主教会日益腐败④近代自然科学的兴起
第二次世界大战给全人类的启示是()①维护世界和平是当代各国人民的共同任务②必须坚持反对霸权主义和强权政治③必须发展和壮大世界和平力量④必须建立国际政治经济新秩序
第二次工业革命引起的生产关系方面最突出的变化是()。
关于中世纪西欧城市发展状况,叙述正确的是()。①城市取得自由或自治,一般以赎买为手段。②城市的自由和自治,一般以封建主或国王颁发的特许证书为凭据。③有的城市集体为封君服军役,并履行封臣的其他义务。④城市可视为
鼓动第一次十字军东征的罗马教皇是()。
1922年2月,美、英、法、意、日五国通过了《五国海军条约》,规定了各国海军主力舰和航空母舰的限额,以及在东亚设置海军基地的要求等内容。该条约的缔结表明()
(1)算法基本思想如下:从头至尾遍历单链表,并用指针p指向当前结点的前k个结点。当遍历到链表的最后一个结点时,指针p所指向的结点即为所查找的结点。(2)详细实现步骤:增加两个指针变量和一个整型变量,从链表头向后遍历,其中指针p1指向当前遍历的结点
随机试题
为什么要对主减速器的轴承实施预紧?怎样调整预紧度?
行政诉讼中的原告撤诉有哪几种类型?
简述考试焦虑的危害及矫正方法。
A、维生素D400IU~800IUB、维生素D5000IU~10000IUC、维生素D310万IUD、维生素D320万IUE、维生素D330万IU佝偻病预防量()
痰标本检查结核分枝杆菌,行涂片与抗酸染色,如镜检找抗酸杆菌,报告时“阴性”代表
“备案号”栏应填()。“提运单号”栏应填()。
(2010)对义务教育中的“义务”的理解,以下说法不正确的一项是()。
根据下面材料回答下列题。下列说法正确的是()。
对比分析的目标是找出学生在学习目的语过程中的(),并在此基础上确定教学重点。
有以下程序#includevoidfun(char**P、{++p;printf("%sha",*p);)main(){char*a[]=("Morning","Afternoon","Evening
最新回复
(
0
)