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

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

【论述题】对线性表L=(a1...an) (1)如L为顺序表,请设计算法将L就地逆置。 (2)若L为带头结点的单链表,设计算法将L就地逆置。


参考答案和解析
除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后继
更多 “【论述题】对线性表L=(a1...an) (1)如L为顺序表,请设计算法将L就地逆置。 (2)若L为带头结点的单链表,设计算法将L就地逆置。” 相关考题
考题 带头结点的单链表L为空的判定条件是()。

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

考题 设计算法将顺序表L中所有的小写字符都移动到表的前端,要求元素的移动次数尽量少。顺序表类型定义如下:typedefchardatatype;//结点的数据类型,假设为charconstintmaxsize=100;//最大表长,假设为100typedefstruct{datatypedata[maxsize];//线性表的存储向量,第一个结点是data[0]intn;//线性表的当前长度}sqlist;//顺序表类型

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

考题 带头结点的双向循环链表L为空的条件是()。A.L==NULLB.L->next==NULLC.L->prior==NULLD.L->next==L

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

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

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

考题 阅读以下说明和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= ______; } }

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

考题 设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。

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

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

考题 带头节点的单链表L为空的判定条件是()。A、L = =nullB、L-data= =nullC、L-next= =nullD、L-next= =data

考题 编写算法,将一个头指针为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; } }

考题 假设线性表采用顺序存储结构,表中元素值为整型。阅读算法f2,设顺序表L=(3,7,3,2,1,1,8,7,3),写出执行算法f2后的线性表L的数据元素,并描述该算法的功能。voidf2(SeqList*L){inti,j,k;k=0;for(i=0;ilength;i++){for(j=0;jdata[i]!=L-data[j];j++);if(j==k){if(k!=i)L-data[k]=L-data[i];k++;}}L-length=k;}

考题 已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()A、 L=s; s->next=L;B、 s->next=L; L=s;C、 s=L; s->next=L;D、 s->next=L; s=L;

考题 已知一个带头结点单链表L,在表头元素前插入新结点 *s的语句为:()A、 L=s;s->next=L;B、 s->next=L-next;L->next=s;C、 s=L;s->next=L;D、 s->next=L; s=L;

考题 有两个循环链表,链头指针分别为L1和L2,要求写出算法将L2链表链到L1链表之后,且连接后仍保持循环链表形式。

考题 在爱立信1算法中,要屏蔽L算法的正确措施是()A、MSRXSUFF置零B、MSRXMIN置零C、BSRXMIN置零D、以上措施都正确

考题 填空题带头结点的双向循环链表L为空表的条件是()。

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

考题 问答题有两个循环链表,链头指针分别为L1和L2,要求写出算法将L2链表链到L1链表之后,且连接后仍保持循环链表形式。

考题 单选题已知一个带头结点单链表L,在表头元素前插入新结点 *s的语句为:()A  L=s;s->next=L;B  s->next=L-next;L->next=s;C  s=L;s->next=L;D  s->next=L; s=L;

考题 单选题已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()A  L=s; s->next=L;B  s->next=L; L=s;C  s=L; s->next=L;D  s->next=L; s=L;

考题 问答题设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。

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