函数main()的功能是:在带头结点的单链表中查找数据域中值最小的结点.请填空 #include&lt

题目

函数main()的功能是:在带头结点的单链表中查找数据域中值最小的结点.请填空

#include <stdio.h>

struct node

{ int data;

struct node *next;

};

int min(struct node *first)/*指针first为链表头指针*/

{ strct node *p; int m;

p=first->next; m=p->data;p=p->next;

for(;p!=NULL;p=_[20]_______)

if(p->data<m) m=p->data;

return m;

}

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求B、C表利用A表的结点)。


参考答案:
  B表的头结点使用原来A表的头结点,为C表新申请一个头结点。从A表的第一个结点开始,依次取其每个结点p,判断结点p的值是否小于0,利用前插法,将小于0的结点插入B表,大于等于0的结点插入C表。
  [算法描述]
  void DisCompose(LinkedList A)
  { B=A;
  B->next= NULL; ∥B表初始化
  C=new LNode;∥为C申请结点空间
  C->next=NULL; ∥C初始化为空表
  p=A->next; ∥p为工作指针
  while(p!= NULL)
  { r=p->next; ∥暂存p的后继
  if(p->data<0)
  {p->next=B->next; B->next=p; }∥将小于0的结点链入B表,前插法
  else {p->next=C->next; C->next=p; }∥将大于等于0的结点链入C表,前插法
  p=r;∥p指向新的待处理结点。
  }
  }

第2题:

单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。


参考答案:头结点的指针、指向第一个结点的指针

第3题:

函数 main() 的功能是 : 在带头结点的单链表中查找数据域中值最小的结点 . 请填空

#include <stdio.h>

struct node

{ int data;

struct node *next;

};

int min(struct node *first)/* 指针 first 为链表头指针 */

{ strct node *p; int m;

p=first->next; m=p->data;p=p->next;

for(;p!=NULL;p= _[20]_______ )

if(p->data<m) m=p->data;

return m;

}


正确答案:

第4题:

在带头结点的非空单链表中,头结点的位置由()指示,首元结点的存储位置由()指示,除首元结点外,其它任一元素结点的存储位置由()指示。

A.头指针

B.头结点的指针域的指针

C.前驱结点的指针域的指针


参考答案:A,B,C

第5题:

对于单链表存储结构,以下说法错误的是()

A.一个结点的数据域用于存放线性表的一个数据元素

B.一个结点的指针域用于指向下一个数据元素的结点

C.单链表必须带有头结点

D.单链表中的所有结点可以连续存放,也可以不连续存放


参考答案:C

第6题:

以下程序中函数fun的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。[*]

include<stdio.h>

typedef struct node /*链表结点结构*/

{char sub[3];

struct node *next;

}Node;

Node fun(char s) /*建立链表*/

{ … }

void disp(Node *h)

{ Node *


正确答案:

第7题:

已知bead指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有连接点数据域的和值作为函数值返回。请在横线处填入正确内容。

{ int data; struct link *next;}

main()

{ struct link *head;

sam(______);

{stmct link *p;int s=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}


正确答案:

第8题:

在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,指针域指向该结点的【】

A.直接前趋

B.直接后继

C.开始结点

D.终端结点


正确答案:B
[解析]单链表的一个存储结点包含dat.和 next两个部分,其中,data部分称为数据域,用于存储线性表的一个数据元素,next部分称为指针域或链域,用于存放一个指针,该指针指向本结点所含数据元素的直接后继所在的结点.

第9题:

在不带头结点的非空单链表中,首元结点的存储位置由头指针指示,除首元结点外,其它任一元素结点的存储位置由前驱结点的指针域的指针指示。()

此题为判断题(对,错)。


参考答案:正确

第10题:

函数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;

}


正确答案:p->next
p->next 解析:本题考查的知识点是:链表的筛选。题目要求筛选出链表中最小的值,所以需要先定义一个临时变量,并将第1个值赋给该变量,就好像本题程序中定义的变量 m。然后遍历整个链表,拿链表中的每一个值跟m比较,如果找到比m小的值,就让m等于该值,这样遍历结束后,m中就是该链表的最小值了。题目中的空位于for循环的第3个表达式处,这里的for循环就是用来遍历整个链表的,所以该表达式需要完成的任务是:将循环变量p指向当前结点的下一个结点。故不难得知应填p->next。

更多相关问题