函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空include<stdio.h>struc

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

}

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

第1题:

试编写在带头结点的单链表中删除最小值结点的算法,假设结点的指针域为next,数据域为data。 void Delete(LinkList *L){}


/删除最小值结点 public void delMin() { Node<T> p=head,q=head.next,p1=null,q1=null; if(!isEmpty()){ T min=q.data; while(q!=null){ //从第一个位置的值开始比较到最后一个位置,定位最小值位置 if(((Comparable)min).compareTo(q.data)>0){ min=q.data; p1=p; //最小值的前一个位置 q1=q; //最小值的位置 } p=q; q=q.next; } p1.next=q1.next; //删除q1最小值位置 } length--; }

第2题:

(填空题)在带头结点的非空单链表中,头结点的存储位置由_______指示。


头结点

第3题:

(填空题)在带头结点的非空单链表中,首元素结点的存储位置由_______指示。


头结点

第4题:

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

}


正确答案:

p->next  

第5题:

下列给定程序是建立一个带头结点的单向链表,并用随 机函数为各结点赋值。函数fun的功能是将单向链表结点 (不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

请改正函数fun中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:


正确答案:
【参考答案】(1)while(P)或while(P!=NULL)(2)P=P一>next;【解题思路】(1)判断当前指针P指向的结点是否存在,若存在则对该结点数据域进行判断操作,而不是判断P指针的指针域是否为空。(2)判断结束后指针指向下一个结点。

第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 *p;

p=h->next;

while([ ])

{printf("%s\n",p->sub);p=[ ];}

}

main()

{ Node *hd;

hd=fun(); disp(hd);printf("\n");

}


正确答案:p!=NULL 或 p 或 p!=0 或 p!='0' p->next 或 (*P).next
p!=NULL 或 p 或 p!=0 或 p!='0' p->next 或 (*P).next 解析:此题主要考核的是用指针处理链表。自定义结构体类型名为Node,并定义一个指向结点类型的指针next。用Node来定义头结点指针变量h,并定义另—个指针变量p指向了第—个结点,在满足p未指向最后—个结点的空指针时,输出p所指向结点的字符串,所以第—个空填p!=NULL或p或p!=0或p!='\0',然后将p指向下一个非空结点,所以第二个空填p->next或与其等效的形式,反复执行直到所有的结点都输出,即遇到p的值为NULL。

第7题:

以下程序的功能是建立—个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-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


正确答案:
解析: 本题考查的是链表这一数据结构对结构体变量中数据的引用。链表的特点是结构体变量中有两个域,一个是数据,另一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。

第8题:

以下程序中函数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 *


正确答案:

第9题:

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

}


正确答案: