更多"判定“带头结点的链队列为空”的条件是 (12) 。"的相关试题:
[单项选择]判定“带头结点的链队列为空”的条件是()。
A. Q.front==NULL
B. Q.rear==NULL
C. Q.front==Q.rear
D. Q.front!=Q.rear
[填空题]带头结点的双向循环链表L为空的条件是______。
[单项选择]带头结点的单链表head为空的判断条件是______。
A. head=NIL
B. head->next=NIL
C. head->next=head
D. head<>NIL
[简答题]设某带头结点的单链表的结点结构说明如下:
typedef struct nodel
int data;
struct nodel*next;
node;
试设计一个算法:void copy(node*head1, node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。
[简答题]设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
[填空题]以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。
struct link
{ char data;
struct link*next;};
…
struct link*p,*first;
int c=0;
p=first;
while( 【19】 )
{ c++;
p= 【20】 ;}
[填空题]函数main( )的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空
#include
struct node
int data;
struct node *next;int main(struct node *first) /*指针first为链表头指针*/
struct node *p; int m;
p=first->next; m=p->data; p=p->next;
for(; p!=NULL;p=______)
if(p->data<M)   M=P->data;
return m;
[简答题]
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表, 并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
typedef struct aa
{ int data;
struct aa *next;
} NODE;
NODE *Creatlink(int n, int m)
{ NODE *h=NULL, *p, *s;
int i;
p=(NODE )malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=1; i<=n; i++)
{ s=(NODE *)malloc(sizeof(NODE));
s->data=rand( )%m; s->next=p->next;
p->next=s; p=p->next;
}
return p;
}
outlink(NODE *h)
{ NODE *p;
p=h->next;
printf("/n/nTHE LIST :/n/n HEAD ");
while(p)
{ printf("->%d ",p->data);
p=p->next;
}
printf("/n");
}
main( )
{ NODE *head;
head=Creatlink(8,22);
outlink(head);
}
[单项选择]设rear是指向非空带头结点的循环单链表的尾指针,则删除起始结点的操作可表示为( )
A. s=rear;
B. rear=rear—>next;
C. rear=rear—>next—>next;
D. s=rear—>next—>next;
[填空题]给定程序MODI1.C中函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0~(m-1)的值。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
文件MODI1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
typedef struet aa
int data;
struct aa *next;
NODE;
NODE *Creatlink(int m)
NODE *h=NULL,*p,*s;
int i;
/**********found**********/
P=(NODE)malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=0;i<m;i++)
s=(NODE *)malloc(sizeof(NODE));
s->data=i:
s->next=p->next;
p->next=s;
p=p->next;
/**********found**********/
return p;
void outlink(NODE *h)
NODE *p;
p=h->next;
printf("/n/nTHE LIST: /n/n HEAD");
while(p)
printf("->%d",p->data);
p=p->next;
printf("/n");
void main( )
NODE *head;
head=Creatlink(8);
outlink(head);
[填空题]函数main( )的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空。
#include<stdio.h>
struct node
int data;
struct node * next;
int main(struct node * first)/*指针first为链表头指针*/
struct node * p;int m;
p=first->next;m=p->data;p=p->next;
for(; p!=NULL;p=______)
if(p->data<m)m=p->data;
return m;
[填空题]
函数min( )的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空
#include <stdio.h>
struct node
{ int data;
struct node *next;
};
int min(struct node *first)/*指针first为链表头指针*/
{ struct node *p; int m;
p=first->next; re=p->data; p=p->next;
for( ;p!=NULL;p= 【20】 )
if(p->data<m ) re=p->data;
return m;
}