网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。 【要求】要求使用原单链表的空间,表头结点可以另辟空间。 【提示】请先在自己的稿纸上作答,然后将全部答题过程及所得结果拍照,以图片形式作为附件上传。请确保照片中的字迹足够清晰、解答过程完整。


参考答案和解析
D解析:若要删除结点需要改变尾指针的指向。
更多 “试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。 【要求】要求使用原单链表的空间,表头结点可以另辟空间。 【提示】请先在自己的稿纸上作答,然后将全部答题过程及所得结果拍照,以图片形式作为附件上传。请确保照片中的字迹足够清晰、解答过程完整。” 相关考题
考题 单链表中的头结点就是单链表的第一个结点。() 此题为判断题(对,错)。

考题 已知f为单链表的表头指针, 链表中存储的都是整型数据,试写出实现下列运算的递归算法: ① 求链表中的最大整数; ② 求链表的结点个数; ③ 求所有整数的平均值。

考题 设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求B、C表利用A表的结点)。

考题 完善算法:已知单链表结点类型为:函数create建立以head为头指针的单链表。

考题 在长度为n的()上删除第一个元素,其算法的时间复杂度为O(n)。 A.只有表头指针的不带表头结点的循环单链表B.只有表尾指针的不带表头结点的循环单链表C.只有表尾指针的带表头结点的循环单链表D.只有表头指针的带表头结点的循环单链表

考题 在一个长度为n(n>1)的带头结点的单链表head上,另设有尾指针r(指向尾结点),执行()操作与链表的长度有关。 A.删除单链表中的第一个元素B.删除单链表中的尾结点C.在单链表的第一个元素前插入一个新结点D.在单链表的最后一个元素后插入一个新结点

考题 设带头结点的单链表(L为头指针)中的数据元素递增有序。设计算法,将x插入到链表的适当位置上,并仍保持该表的有序性。

考题 在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点 在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性的链式存储实现

考题 在单链表中,增加头结点的目的是( )。 A.方便运算的实现B.使单链表至少有一个结点SXB 在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现

考题 在单链表中,增加头结点的目的是( )。A.A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性的链式存储实现

考题 阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 函数Combine(LinkList La,LinkList Lb)的功能是:将元素呈递减排列的两个含头结点单链表合并为元素值呈递增(或非递减)方式排列的单链表,并返回合并所得单链表的头指针。例如,元素递减排列的单链表La和Lb如图1所示,合并所得的单链表如图2所示。 设链表结点类型定义如下: typedef Struct Node{ int data; struct Node*next; }Node,*LinkList; [C函数] LinkListCombine(LinkList La,LinkList Lb) { //La和Lb为含头结点且元素呈递减排列的单链表的头指针 //函数返回值是将La和Lb合并所得单链表的头指针 //且合并所得链表的元素值呈递增(或非递减)方式排列 ______Lc,tp,pa,pb; //Lc为结果链表的头指针,其他为临时指针 if(!La)returnNULL; pa=La->next; //pa指向La链表的第一个元素结点 if(!Lb) returnNULL; pb=Lb->next; //pb指向Lb链表的第一个元素结点 Lc=La; //取La链表的头结点为合并所得链表的头结点 Lc->next=NULL; while(______) { //pa和pb所指结点均存在(即两个链表都没有到达表尾) //令tp指向pa和pb所指结点中的较大者 if(pa->data>pb->data){ tp=pa; pa=pa->next; } else{ tp=pb; pb=pb->next; } ______ =Lc->next; //tp所指结点插入Lc链表的头结点之后 Lc->next=______; } tp=(pa)?pa:pb; //设置tp为剩余结点所形成链表的头指针 //将剩余的结点合并入结果链表中,pa作为临时指针使用 while (tp) { pa=tp->next; tp->next=Lc->next; Lc->next=tp; ______; } return Lc; }

考题 在一个长度为n(n>1)的带头结点单链表h上,另设有尾指针r(指向尾结点)。与链表的长度有关的操作是()。A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素

考题 在长度为n(Il>1)的()上,删除第一个元素.其时间复杂度为O(n)。A.只有首结点指针的不带头结点的循环单链表 B.只有尾结点指针的不带头结点的循环单链表 C.只有尾结点指针的带头结点的循环单链表 D.只有头结点的循环单链表

考题 在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为()和()。

考题 若要将一个单链表中的元素倒置,可以借助()建立单链表的思想将链表中的结点重新放置。

考题 设一个链表最常用的操作是在表尾插入结点和在表头删除结点,则选用下列哪种存储结构效率最高?()A、 单链表B、 双链表C、 单循环链表D、 带尾指针的单循环链表

考题 在具有头结点的单链表中,头指针指向链表的第一个数据结点。

考题 编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。

考题 单链表中,增加一个头结点的目的是为了()。A、使单链表至少有一个结点B、标识表结点中首结点的位置C、方面运算的实现D、说明单链表是线性表的链式存储

考题 在单链表中,头指针的作用是()A、方便运算的实现B、用于标识单链表C、使单链表中至少有一个结点D、用于标识首结点位置

考题 双向循环链表的结点与单链表的结点结构相同,只是结点间的连接方式不同。

考题 在单链表中,头结点的作用是()A、方便运算的实现B、用于标识单链表C、使单链表中至少有一个结点D、用于标识首结点位置

考题 单选题在单链表中,头指针的作用是()A 方便运算的实现B 用于标识单链表C 使单链表中至少有一个结点D 用于标识首结点位置

考题 填空题在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为()和()。

考题 问答题设某带头结头的单链表的结点结构说明如下:typedef struct nodel{int data struct nodel*next;}node;试设计一个算法:void copy(node*headl,node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。

考题 填空题若要将一个单链表中的元素倒置,可以借助()建立单链表的思想将链表中的结点重新放置。

考题 单选题在单链表中,头结点的作用是()A 方便运算的实现B 用于标识单链表C 使单链表中至少有一个结点D 用于标识首结点位置

考题 问答题编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。