c语言单链表求最小值,线性表 输出链表中的最大值跟最小值 ?代码错在哪里

线性表 输出链表中的最大值和最小值 ?代码错在哪里

# include 

# include 

typedef struct node

{

int data;

struct node *next;

}Node,*pnode;

pnode creatlist()

{

int i,k,j=0;

pnode Head =(pnode)malloc(sizeof(Node));

Head->next= NULL;

scanf("%d",&i);

while(j

{

pnode pnew = (pnode)malloc(sizeof(Node));

scanf("%d ",&k);

pnew->data=k;

pnew->next=Head->next;

Head->next = pnew;

Head = pnew;

j++;

}

return Head;

}

void traverlist(pnode l)

{

pnode p1= (pnode)malloc(sizeof(Node));

pnode p2= (pnode)malloc(sizeof(Node));

pnode p3= (pnode)malloc(sizeof(Node));

pnode p4= (pnode)malloc(sizeof(Node));

int t;

p1= l->next;

p2=l->next->next;

while(p2!=NULL)

{

if(p1->data>p2->data)

{

t=p1->data;

p1->data=p2->data;

p2->data=t;

}

p1=p1->next;

p2=p2->next;

}

printf("%d ",p1->next->data);

while(p4!=NULL)

{

if(p3->datadata)

{

int t = p3->data;

p3->data= p4->data;

p4->data= t;

}

p3=p3->next;

p4=p4->next;

}

printf("%d",p3->next->data);

}

void main()

{

pnode  l=creatlist();

traverlist(l);

}

分享到:

------解决方案--------------------

# include 

# include 

typedef struct node

{

int data;

struct node *next;

}Node,*pnode;

pnode creatlist()

{

int i,k,j=0;

pnode Head =(pnode)malloc(sizeof(Node));

Head->next= NULL;

printf("Input element number:");

scanf("%d",&i);

while(j 

{

printf("Input %dth element:",j);

pnode pnew = (pnode)malloc(sizeof(Node));

scanf("%d",&k);

pnew->data=k;

pnew->next=Head->next;

Head->next = pnew;

//Head = pnew;

j++;

}

return Head;

}

void traverlist(pnode l)

{

pnode p1;//= (pnode)malloc(sizeof(Node));

pnode p2;//= (pnode)malloc(sizeof(Node));

int t;

if(l->next==NULL)

return;

p1 = l->next;

t = p1->data;

while(p1->next != NULL)

{

if( t > p1->next->data )

{

t = p1->next->data;

}

p1=p1->next;

}

printf("Min:%d\n",t);

p2 = l->next;

t = p2->data;

while(p2->next != NULL)

{

if( t next->data)

{

t = p2->next->data;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值