查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

填空题

在下面冒泡排序算法中填入适当内容,以使该算法在发现有序时能及时停止。
bubble(R)
Rectype R[n];
{int i,j,exchang;
Rectype temp;
i=1;
do
{exchang=False;
for(j=n;j>=¬¬i+1 ;j- -)
if(R[j] {temp=R[j-1];
R[j-1]=R[j];
R[j]=temp;
exchang=True ;
}
() ;
}while(exchang=False );
}

参考答案:i=i+1

填空题

下面算法实现,用一棵二叉树中的结点建立一个按关键字值从小到大次序排列的带表头结点的双向循环链表。二叉树的结点结构如下所示:

其中,p是指向结点的指针;p->key表示结点的关键字域,p->left和p->right分别表示结点的左、右孩子的指针域。
void fromtreetolist(p,l)
/*p,h是指向二叉树中结点的指针,*/
/*l是指向双向循环链表表头结点的指针*/
{if (p!=NULL)
{ fromtreetolist(p->left,l);
fromtreetolist(p-> right,l);
h=l;
while (h->right!=l)&&(h->right->keykey)h=h->right;
p->right=h->right;
p->left=h;
();
h->rihght=p;
}
}
void buildlisttree(root,l)
/*root是指向二叉树根结点的指针,*/
/*l是指向双向循环链表表头结点的指针*/
{l=(struct nodetype *)malloc(sizeof(struct nodetype));
l->left=l;
l->right=l;
fromtreetolist(root,l);
}

参考答案:h->right->left=p

填空题

链队列的存储结构为:
struct nodetype
{ELEMTP data;
struct nodetype *next;
}
struct linkqueue
{struct nodetype *front,*rear;
} /*front和rear分别为队列的头指针和尾指针*/
完成下列删除队头元素的算法。
delq(struct linkqueue *r,ELEMTP *x)
{q=*r;
if(q.front= =q.rear)printf(“QUEUE IS EMPTY\n“);
else{p=q.front->next;
q.front->next=p->next;
if(p->next= =NULL)q.rear=q.front;
*x=();free(p);

参考答案:p->data

填空题

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

参考答案:q->next

填空题

设线性链表的存储结构如下:
struct node
{ELEMTP data; /*数据域*/
struct node *next; /*指针域*/
}
试完成下列建立单链表的算法。
creat()
{char var;
head=(struct node *)malloc(sizeof(struct node));
head->next= () ;
while((var=getchar())!=‘\n’){
ptr=( struct node *)malloc(sizeof(struct node));
ptr->data= var ;ptr->next=head->next;
head->next= ptr ;
}
}

参考答案:NULL

填空题

设线性链表的存储结构如下:
struct node
{ELEMTP data; /*数据域*/
struct node *next; /*指针域*/
}
试完成下列在链表中值为x的结点前插入一个值为y的新结点。如果x值不存在,则把新结点插在表尾的算法。
void inserty(struct node *head,ELEMTP x,ELEMTP y)
{s=(struct node *)malloc(sizeof(struct node));
();
if(){s->nexr=head;head=s;}
else {
q=head;p=q->next;
while(p->dqta!=x&&p->next!=NULL){q=p;()}
if(p->data= = x){q->next=s;s->next=p;}
else{p->next=s;s->next=NULL;}
}
}

参考答案:s->data=y;head->data= =x;p=p->next

填空题

设顺序存储的线性表存储结构定义为:
struct sequnce
{ELEMTP elem[MAXSIZE];
int len; /*线性表长度域*/
}
将下列简单插入算法补充完整。
void insert(struct sequnce *p,int i,ELEMTP x)
{v=*p;
if(i<1)||(i>v.len+1)printf(“Overflow“);
else {
for(j=v.len;();j- -)();
v.elem[i]= () ;v.len=();
}
}

参考答案:j>=i;v.elem[j+1]=v.elem[j];x;v.len+1

填空题

假定在有序表R[0‥19]上进行二分查找,则比较三次查找成功的结点数为()。

参考答案:4

填空题

设无向图G的顶点数为n,图G最少有()边。

参考答案:0

填空题

对于一棵具有n个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为2n个,其中()个用于链接孩子结点。

参考答案:n-1
赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved