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

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

带头结点的单链表L,编写算法实现就地逆置(即不额外增加结点)。


参考答案和解析
Void CreateLink_List(LinkList &L,int n) { //逆序创建,依次输入元素an,an-1,...a1 L=(LinkList)malloc(sizeof(LNode)); //头结点 L->next=NULL; for(i=n;i>0;i--) { p=(LinkList)malloc(sizeof(LNode)); scanf(&p->data); p->next=L->next; L->next=p; } } // 输入元素的次序与单链表的逻辑顺序相反,称逆序。
更多 “带头结点的单链表L,编写算法实现就地逆置(即不额外增加结点)。” 相关考题
考题 带头结点的单链表Head为空的条件是____________。

考题 带头结点的单链表L为空的判定条件是()。

考题 带头结点的循环单链表L为空的条件分别是()。

考题 在带头结点的单链表L中,若要删除第一个结点,则需执行下列三条语句:();L->next=p->next;deletep;

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

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

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

考题 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素站点(注意不设头指针) ,试编写相应的置空队、判队空 、入队和出队等算法。

考题 在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。A.求链表的第i个结点B.在地址为P的结点之后插入一个结点C.删除表头结点D.删除地址为P的结点的后继结点

考题 试写一算法,实现单链表的就地逆置(要求在原链表上进行)

考题 设计算法,实现单链表的就地逆置,即利用原表的存储空间将线性表(a1,a2,„,an)逆置为(an,an-1,„,a1)。

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

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

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

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

考题 阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 函数ReverseList(LinkList headptr)的功能是将含有头结点的单链表就地逆置。处理思路是将链表中的指针逆转,即将原链表看成由两部分组成:已经完成逆置的部分和未完成逆置的部分,令s指向未逆置部分的第一个结点,并将该结点插入已完成部分的表头(头结点之后),直到全部结点的指针域都修改完成为止。 例如,某单链表如图1所示,逆置过程中指针s的变化情况如图2所示。 链表结点类型定义如下: typedef struct Node{ int data; Struct Node *next; }Node,*LinkList; [C函数] void ReverseList(LinkList headptr) { //含头结点的单链表就地逆置,headptr为头指针 LinkList p,s; if(______) return; //空链表(仅有头结点)时无需处理 P=______; //令P指向第一个元素结点 if(!P->next) return; //链表中仅有一个元素结点时无需处理 s=p->next; //s指向第二个元素结点 ______ =NULL; //设置第一个元素结点的指针域为空 while(s){ p=s; //令p指向未处理链表的第一个结点 s= ______; p->next=headptr->next; //将p所指结点插入已完成部分的表头 headptr->next= ______; } }

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

考题 判断带头结点的单链表L为空的条件()

考题 编写算法,实现带头结点单链表的逆置算法。

考题 某带头结点的单链表的头指针head,判定该单链表非空的条件()。

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

考题 编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。

考题 下列算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同,试完成该算法。 void DelSameNode(LinkList L) //L是带头结点的单链表,删除其中的值重复的结点// {ListNode * p,*q,*r; p=L-next; //p初始指向开始结点// while(p){ //处理当前结点p// q=p; r=q-next; do { //删除与结点*p的值相同的结点// while(rr-data!=p-data){ q=r; r=r-next; } if(r){ //结点*r的值与*p的值相同,删除*r// q-next=r-next; free(r); r=(); } }while( r ); p=p-next; } }

考题 设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是()

考题 问答题编写算法,实现带头结点单链表的逆置算法。

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

考题 问答题编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。

考题 填空题判断带头结点的单链表L为空的条件()