C语言版数据结构,求大佬解答
下面函数的功能是:将单链表L中的元素逆置。将算法补充完整。voidInverse(LinkListL){ LNo...
下面函数的功能是:将单链表L中的元素逆置。将算法补充完整。
void Inverse(LinkList L )
{
LNode*p,*s;
___ ①____;//p指向第一个结点
L->next=NULL; //将单链表L置空
while(p!=NULL)
{ s=p; p=p->next; //s指向待插入结点,p指向下一个结点
___ ②____;___ ③____;//将s所指结点插入到单链表L的表头
}
}
(3.0分)
填写答案
20
【其它】
下面函数的功能是:将两个递增有序的单链表A、B,归并成一个递减有序的单链表C。将算法补充完整。
LinkList merge(LinkList A, LinkList B)
{ LinkList C; LNode *p,*q,*s;
p=A->next; q=B->next;/*p,q分别指向A,B表中第一个结点*/
C=A; C->next=NULL;/*建立一个空表C*/
free(B);
while(___ ①____)/*合并*/
{
if(p->data<q->data) /*让s指向较小者作为待插结点*/
{s=p;p=p->next;}
else
{s=q;q=q->next;}
___ ②____; ___ ③____;/*将待插结点*s插入到C的表头*/
}
while(p!=NULL) /*将A表的剩余元素逐个插入到C的表头*/
{ s=p;p=p->next;
s->next=C->next; C->next=s;
}
while(q!=NULL) /*将B表的剩余元素逐个插入到C的表头*/
{ s=q;q=q->next;
s->next=C->next; C->next=s;
}
return C;
}
(3.0分)
填写答案
21
【其它】
下面函数的功能是:在一个递增有序的顺序表L中插入元素x后仍有序。将算法补充完整。
void Insert(SeqList *L, datatype x)
{ int i,j;
if(L->last==MAXSIZE-1) /*判表满*/
{ printf("full\n");return;}
for(i=0; i<=L->last&&___ ①____; i++); /*从顺序表L的第1个元素开始依次与x比较*/
for(j=L->last; ___ ②____; j--)
L->data[j+1]=L->data[j]; /*元素后移*/
L->data[i]=x; /*插入 x */
L->last++;
}
(2.0分)
填写答案
22
【其它】
下面函数的功能是:在一个递增有序的单链表L中插入元素x后仍有序。将算法补充完整。
void Insert(LinkList L, datatype x )
{
LNode *p,*s,*q; //q所指结点为p所指结点的前驱
q=L; p=L->next;
while(___ ①____&&x>p->data) //从单链表L的第1个元素开始依次与x比较
{ q=q->next; ___ ②____; }
s=(LNode*)malloc(sizeof(LNode)); s->data=x;//申请、填装结点
q->next=s; ___ ③____; //在q和p所指结点之间插入s所指结点(即插 展开
void Inverse(LinkList L )
{
LNode*p,*s;
___ ①____;//p指向第一个结点
L->next=NULL; //将单链表L置空
while(p!=NULL)
{ s=p; p=p->next; //s指向待插入结点,p指向下一个结点
___ ②____;___ ③____;//将s所指结点插入到单链表L的表头
}
}
(3.0分)
填写答案
20
【其它】
下面函数的功能是:将两个递增有序的单链表A、B,归并成一个递减有序的单链表C。将算法补充完整。
LinkList merge(LinkList A, LinkList B)
{ LinkList C; LNode *p,*q,*s;
p=A->next; q=B->next;/*p,q分别指向A,B表中第一个结点*/
C=A; C->next=NULL;/*建立一个空表C*/
free(B);
while(___ ①____)/*合并*/
{
if(p->data<q->data) /*让s指向较小者作为待插结点*/
{s=p;p=p->next;}
else
{s=q;q=q->next;}
___ ②____; ___ ③____;/*将待插结点*s插入到C的表头*/
}
while(p!=NULL) /*将A表的剩余元素逐个插入到C的表头*/
{ s=p;p=p->next;
s->next=C->next; C->next=s;
}
while(q!=NULL) /*将B表的剩余元素逐个插入到C的表头*/
{ s=q;q=q->next;
s->next=C->next; C->next=s;
}
return C;
}
(3.0分)
填写答案
21
【其它】
下面函数的功能是:在一个递增有序的顺序表L中插入元素x后仍有序。将算法补充完整。
void Insert(SeqList *L, datatype x)
{ int i,j;
if(L->last==MAXSIZE-1) /*判表满*/
{ printf("full\n");return;}
for(i=0; i<=L->last&&___ ①____; i++); /*从顺序表L的第1个元素开始依次与x比较*/
for(j=L->last; ___ ②____; j--)
L->data[j+1]=L->data[j]; /*元素后移*/
L->data[i]=x; /*插入 x */
L->last++;
}
(2.0分)
填写答案
22
【其它】
下面函数的功能是:在一个递增有序的单链表L中插入元素x后仍有序。将算法补充完整。
void Insert(LinkList L, datatype x )
{
LNode *p,*s,*q; //q所指结点为p所指结点的前驱
q=L; p=L->next;
while(___ ①____&&x>p->data) //从单链表L的第1个元素开始依次与x比较
{ q=q->next; ___ ②____; }
s=(LNode*)malloc(sizeof(LNode)); s->data=x;//申请、填装结点
q->next=s; ___ ③____; //在q和p所指结点之间插入s所指结点(即插 展开
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询