您的位置:首页 > 其它

利用creat创建链表 利用outlist打印链表 利用 fun 函数 返回链表中最大的值

2012-03-21 00:55 330 查看
#include <stdio.h>
#include <stdlib.h>
#define  N  8

struct  slist
{
double  s;
struct slist *next;
};

typedef  struct slist  STREC;

double  fun( STREC *h )
{
int i;
double max;

for(i=0;i<N;i++)
{
h=h->next;

if(max<(h->s)) max=(h->s);
};
return max;
}

STREC *creat( double *s) //定义返回值为 STREC类型的 地址 形参为指向实型的指针
{
STREC *h,*p,*q;    //定义三个指向STREC型的指针
int  i=0;
h=p=(STREC*)malloc(sizeof(STREC));     //动态分配STREC型大小空间首地址赋给 h、p  头结点
p->s=0;                            //头结点数据域 为 0
while(i<N)
{
q=(STREC*)malloc(sizeof(STREC));      //   动态分配 size 空间  首地址赋给q
q->s=s[i];
i++;
p->next=q;                             // 建立连接  把后一个节点的地址赋给直接前驱的指针域
p=q;                                   //  p后移
}
p->next=0;                                   //尾节点 的指针域赋为空
return  h;                                    //返回头节点的地址
}

outlist(STREC *h)               // 带入头指针  打印链表
{
STREC  *p;
p=h->next;
printf("head");
do
{
printf("->%2.0f",p->s);
p=p->next;
}
while(p!=0);
printf("\n\n");
}

main()
{
double  s
={85,76,69,85,91,72,64,87}, max;
STREC  *h;
h=creat(s);
outlist(h);
max=fun(h);
printf("max=%6.1f\n",max);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐