c语言链表元素个数,C语言链表归并问题,在线,急

#include

#include

#include

typedef int Elemtype;

typedef struct link{

Elemtype data;

struct link* next;

}slink;

int seed;

slink* initslink(int n)//初始化

{

slink *head,*p,*s;

int i;

head=(slink*)malloc(sizeof(slink));

p=head;

for(i=1;idata=rand();

p->next=s;

p=p->next;

}

p->next=NULL;

return head;

}

void print(slink *head)//打印元素

{

slink *p=head->next;

while(p)

{

printf("�",p->data);

p=p->next;

}

printf("

");

}

void combine(slink *head1,slink *head2)//归并纯化

{

slink *p=head1,*q,*flagq;

while(p->next)

p=p->next;

p->next=head2->next;

p=head1->next;

while(p)

{

q=p;

while(q->next)

{

flagq=q;

if(q->next->data==p->data)

{

q->next=q->next->next;

continue;

}

q=q->next;

}

p=p->next;

}

}

void findmax_min(slink *head,Elemtype *max,Elemtype *min)//查找最大最小值

{

*max=head->next->data;

*min=head->next->data;

slink *p=head->next->next;

while(p)

{

if(*max

data)

*max=p->data;

if(*min>p->data)

*min=p->data;

p=p->next;

}

}

void main()

{

int n;

srand(time(NULL));

seed=rand();

Elemtype max,min;

slink *head1=NULL,*head2=NULL;

srand(seed );

n=rand() 1;

printf("链表一有%d个数:",n);

head1=initslink(n);

print(head1);

srand(seed );

n=rand() 1;

printf("链表二有%d个数:",n);

head2=initslink(n);

print(head2);

combine(head1,head2);

findmax_min(head1,&max,&min);

printf("归并后:");

print(head1);

printf("the max Elem:%d

the min Elem:%d

",max,min);

}。

全部

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值