更多"假设以带头结点的单链表表示有序表,单链表的类型定义如下: typed"的相关试题:
[多项选择]假设以带头结点的单链表表示有序表,单链表的类型定义如下:
typedef struct node
DataType data;
struct node*next
LinkNode,*LinkList;
编写算法,从有序表A中删除所有和有序表B中元素相同的结点。
[单项选择]有下列程序段:
typedef struct NODE
int num;struct NODE *next;
OLD;
下列叙述中正确的是()。
A. 以上的说明形式非法
B. NODE是一个结构体类型
C. OLD是一个结构体类型
D. OLD是一个结构体变量
[简答题]设某带头结点的单链表的结点结构说明如下:
typedef struct nodel
int data;
struct nodel*next;
node;
试设计一个算法:void copy(node*head1, node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。
[简答题]设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
[简答题]
已知一个带有表头结点的单链表,结点结构为,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:
[简答题]阅读如下程序typedef struct{int key;char info;}NODE;NODE r[10];fun(NODE r[],int l,int h){ int i,j; NODE x: if(1>=h)return; i=l;j=h;x=r[i]; do(while((rEi-I.key>=x.key)&&(j>i))j— —; if(ii))j++; if(i
[单项选择]带头结点的单链表head为空的判断条件是______。
A. head=NIL
B. head->next=NIL
C. head->next=head
D. head<>NIL
[填空题]函数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;
[简答题]阅读下面的算法:
LinkList mynote(LinkList L)//L是不带头结点的单链表的头指针
if(L&&L->next)
q=L;L=L->next; p=L;
S1: while(p->next); p=p->next;
S2: p->next=q; q->next=NULL;
return L;
请回答下列问题:
说明语句S2的功能。