填空题链队列的存储结构为: 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);

填空题
链队列的存储结构为: 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);

参考解析

解析: 暂无解析

相关考题:

有以下程序段typedef struct node { int data; struct node *next; } *NODE;NODE p;以下叙述正确的是A)p 是指向 struct node 结构变量的指针的指针B)NODE p ;语句出错C)p 是指向 struct node 结构变量的指针D)p 是 struct node 结构变量

有以下程序段 typedef struct node { int data; struct node *next; } *NODE; NODE p; 以下叙述正确的是( )。A.p是指向struct node结构变量的指针的指针B.NODE p;语句出错C.p是指向struct node结构变量的指针D.p是struct node结构变量

以下程序把三 个 NODETYP E 型的变量链接成一个简单的链表 , 并 在 whil e 循环中输出链表结点数据域中的数据,请填空。#include stdio.hstruct node{int data; struct node *next;};typedef struct node NODETYPE;main(){ NODETYPE a,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=a;a.next=b;b.next=c;c.next='\0';p=h;while(p){printf("%d,", p-data); 【 1 5 】 ; }printf("\n");}

以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空#include stdio.hstruct node{int data; struct node *next;};typedef struct node NODETYPE;main(){NODETYPE a,b,c,*h,*p;a. data=10;b.data=20;c.data=30;h=a;b. next=b;b.next=c;c.next=’\0’;p=h;while(p){printf(“d”,p-data);【15】;}}

以下程序的功能是:建立一个带布头结点的单向链表,并将存储在数组中的字符依次存储到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项#include <stdlib.h>struct node{char data; struct node *next;};(48) CreatList(char*s),{struct node *h,*p,*q;h=(struct node*)malloc(sizeof(struct node));p=q=h;while(*s!="\0"){ p=(struct node*)malloc(sizeof(struct node));p->data= (49) ;q->next=p;q= (50) ;s++;}p->next="\0";return h;}main(){ char str[]="link list";struct node*head;head=CreatList(str);…}(1)A.char*B.struct nodeC.struct node*D.char

已知有结构体: struct sk { int a; float b; }data,*p; 若有p=data,则对data的成员a的正确引用是( )。A.struct是结构体类型的关键字B.st是结构体类型名C.x、y、z都是结构体成员名D.struct str是结构体类型名

在C语言中,可以用typedef声明新的类型名来代替已有的类型名,比如有学生链表结点: typedef struct node{ int data; struct node * link; }NODE, * LinkList; 下述说法正确的是______。A.NODE是结构体struct node的别名B.* LinkList也是结构体struct node的别名C.LinkList也是结构体struct node的别名D.LinkList等价于node*

函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空includestruc 函数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=【 】)if(p->data<m ) re=p->data;return m;}

阅读下列说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】已知集合A和B的元素分别用不含头结点的单链表存储,函数Difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10, 20,15,25,30},集合B={5,15,35,25},如图(a)所示,运算完成后的结果如图(b)所示。链表结点的结构类型定义如下:typedef struct Node{ElemType elem;struct Node *next;}NodeType;【C函数】void Difference(NodeType **LA,NodeType *LB){NodeType *pa, *pb, *pre, *q;pre=NULL;(1);while (pa) {pb=LB;while((2))pb=pb->next;if((3)) {if(!pre)*LA=(4);else(5)=pa->next;q = pa;pa=pa->next;free(q);}else {(6);pa=pa->next;}}}

以下程序的功能是建立—个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。include<stdio.h>struct list { int data;struct list *next;};struct list * creatlist(){ struct list *p,*q,*ph;int a;ph=(struct list *)malloc(sizeof(struct

设有下列定义: struct sk { int m; float x; )dara,*q; 若要使q指向data中的m域,正确的赋值语句是( )。A.q=data.m;B.*q=data.m;C.q=(struct sk*)data.m;D.q=(struct sk*)data.m;

设有下列定义:struct sk{ int m;float x;}data,*q;若要使q指向data中的m域,正确的赋值语句是( )。A.q=data.m;B.*q=data.m;C.q=(struct sk*)data.m;D.q=(struct sk*)data.m;

以下程序的功能是:建立一个带有头结点的甲—向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。#include <stdlib.h>struct node{ char data; struct node *next: };(1) CreatList(char *s){struct node *h,*p,*q;h = (struct node *)malloc sizeof(struct node));p=q=h;while(*s! ='\0'){p = (struct node *)malloc(sizeof (struct node));p->data = (2) ;q->next = p;q - (3) ;S++;}p->next='\0';return h;}main(){char str[]="link list";struct node *head;head = CreatList(str);}(1)A.char*B.struct nodeC.struct node*D.char

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct link { char data; ______; }node;A.struct link nextB.link * nextC.struct next linkD.struct link *next

以下程序把三个NODEIYPE型的变量链接成—个简单的链表,并在while循环中输出链表结点数据域中的数据。请填空。include<stdio.h>struct node{ int data;struct node*next;);typedef struct node NODETYPE;main(){ NODETYPEa,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=a;anext=b;b.next=c;c,next='\0';p=h;while(p){printf("%d,",p->data):【 】;}printf("\n");}

以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。#include stuct node{ char data; struct node *next;}; (48) CreatLis(char *s){ struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node)); p=q=h; while(*s!='\0') { p=(struct node *)malloc(sizeof(struct node)); p-data= (49) ; q-next=p; q= (50) ; s++; } p-next='\0'; return h;}main(){ char str[]="link list"; struct node *head; head=CreatLis(str); ...}A.char *B.struct nodeC.struct node*D.char

设有如下定义:struct sk{ int n;float x; } data, *p;若要使p指向data中的n域,正确的赋值语句是A.p=data.n;B.*p=data.n;C.p=(struct sk*)data.n;D.p=(struct sk*)data.n;

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct 1ink { char data; }node;A.struct link nextB.link*nextC.sluct next linkD.struct link*next

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct link { char data; ______, }node;A.struct link nextB.link *nextC.stuct next linkD.struct link *next

下面程序的功能是建立一个有 3 个 结 点的单向循环链表,然后求各个 结 点数值域 data 中数据的和。请填空。include stdio.hinclude stdlib.hstruct NODE{ int data;struct NODE *next;};main(){ struct NODE *p,*q,*r;int sum=0;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p-data=100; q-data=200; r-data=200;p- next =q; q- next =r; r- next =p;sum=p-data+p-next-data+r-next-next 【 19 】 ;printf("%d\n",sum);}

设有如下定义:struct sk{ int m;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是( )。A)q=data.m;B)*q=data.m;C)q=(struct sk*)data.m;D)q=(struct sk*)data.m;

执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。()A对B错

假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为()。Astruct AABstruct AA*CAADint

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

单选题假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为()。Astruct AABstruct AA*CAADint

填空题设线性链表的存储结构如下: 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!=xp-next!=NULL){q=p;()} if(p-data= = x){q-next=s;s-next=p;} else{p-next=s;s-next=NULL;} } }

填空题设线性链表的存储结构如下: 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 ; } }