首页 > 大学本科
题目内容 (请给出正确答案)
[主观题]

设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向

逆转,如图2-4所示。要求逆转结果链表的表头指针h指向原链表的最后一个结点。

设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转,如图

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链…”相关的问题
第1题
试设计一个实现下述要求的Locate运算的函数。设有一个带附加头结点的双向链表L, 每个结点有4
个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次Locate(x) 操作时, 令元素值为x的结点的访问频度freq加1, 并将该结点前移,链接到与它的访问频度和等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

点击查看答案
第2题
已知带表头结点的非空单链表L,指针P指向L链表中的一个结点(非首结点、非尾结点),试从下列提供的答案中选择合

已知带表头结点的非空单链表L,指针P指向L链表中的一个结点(非首结点、非尾结点),试从下列提供的答案中选择合适的语句序列。

a)P=P->next;

b)P->next=P;

c)P->next=P->next->next;

d)P=P->next->next;

e)while(P!=NULL)P=P->next;

f)while(Q->next!=NULL){P=Q;Q=Q->next;}

g)while(P->next!=Q)P=P->next;

h)while(P->next->next!=Q)p=p->next;

i)while(P->next->next!=NULL)P=P->next;

j)Q=P;

k)Q=P->next;

I)P=L;

m)L=L->next;

n)free(Q);

点击查看答案
第3题
设有一头指针为L的带有表头结点的非循环双向链表,其每个结点中除有pred(前驱指针)、data(数据)和n

设有一头指针为L的带有表头结点的非循环双向链表,其每个结点中除有pred(前驱指针)、data(数据)和next(后继指针)域外,还有一个访问频度域freq。在链表被起用前,其值均初始化为零。每当在链表中进行一次Locate(L,x)运算时,令元素值为x的结点中freq域的值增1,并使此链表中结点保持按访问频度非增(递减)的顺序排列,同时最近访问的结点排在频度相同的结点的最后,以便使频繁访问的结点总是靠近表头。试编写符合上述要求的Locate(L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型

点击查看答案
第4题
设计一个算法,产生一个有4个结点的单链表,这些结点的数据域分别是a,b,c,d,且表头指针是head。
点击查看答案
第5题
已知一个有序单链表(从小到大排列),表头指针为head,编写一个函数向该单链表中插入一个元素为x的

已知一个有序单链表(从小到大排列),表头指针为head,编写一个函数向该单链表中插入一个元素为x的节点,使插入后该单链表仍有序。

点击查看答案
第6题
设有一个双链表,每个结点中除有prior、data和next这3个域外,还有一个访问频度域freq,在链表被启用
之前,其值均初始化为零。每当在链表进行一次L0CateNode(L,x)运算时,令元素值为x的结点中freq域的值加1,并调整表中结点的次序,使其按访问频度的递减序排列,以便使频繁访问的结点总是靠近表头。试写一符合上述要求的L,oCateNode运算的算法。

点击查看答案
第7题
设有一个循环单链表head,编写算法,实现结点指针域指向其直接前趋的操作。

点击查看答案
第8题
以下函数creat用来建立一个带头结点的单向链表,新产生的结点是插在链表头的 末尾。单向链表的头
指针作为函数值返回。请填空。 include<stdio.h> struct list {char data; struct list * next; }; struct list * creat; {struct list * h,* p,* q; char ch; h=(【 】 )malloc (sizeof(struct list)); p=q=h; ch=getchar(); while(ch!=?) {p=(【 】)mallco(sizeof(struct list)); p->data=ch; q->next=p; q=p; ch=getchar(); } p->next=\0; 【 】; }

点击查看答案
第9题
用一个循环单链表表示队列,该队列只设一个队尾指针rear,不设队首指针。试编写算法,完成入队、出队
操作。

点击查看答案
第10题
设有一线性表e=(e0,e1,e2,…,en-1),其逆线性表定义为e=(en-1,…,e2,e1,e0)。请设计一个算法,将用带

设有一线性表e=(e0,e1,e2,…,en-1),其逆线性表定义为e=(en-1,…,e2,e1,e0)。请设计一个算法,将用带头结点和不带头结点的单链表两种方法表示的线性表置逆,要求逆线性表仍占用原线性表的空间。

点击查看答案
第11题
假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知S为指向链表中某结点的指针,试
编写算法在链表中删除指针S所指结点的前驱结点。

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改