程序设计: 输入两个非降序列,转换成两个非升序列,合并成一个非升序列。(用链表解决)

程序设计: 输入两个非降序列,转换成两个非升序列,合并成一个非升序列。(用链表解决),第1张

#include

<stdio.h>

#include

<stdlib.h>

#define

LEN

sizeof(struct

node)

typedef

struct

node

{

int

num

struct

node

*next

}list

//链表结点结构体

void

main()

{

list

*create()

list

*turn(list

*)

list

*reform(list

*,list

*)

list

*head1,*head2,*head

head1=create()

head2=create()

head=reform(turn(head1),turn(head2))

while(head)

{

printf("%d

",head->num)

head=head->next

}

}

list

*create()

//建立链表的函数

{

list

*p,*q,*head

int

n=0

printf("请输入一个非降序列,以0结束\n")

p=(list

*)malloc(LEN)

scanf("%d",&p->num)

n++

while(p->num!=0)

//终止条件为输入0

{

if(1==n)

head=p

else

q->next=p

q=p

p=(list

*)malloc(LEN)

scanf("%d",&p->num)n++

}

free(p)

q->next=NULL

return

head

//返回头指针

}

/*void

sort(list

*head)

//排序函数

{list

*p,*q

int

temp

for(p=headp->next!=NULLp=p->next)

for(q=pq!=NULLq=q->next)

if(p->num<q->num)

{temp=p->nump->num=q->numq->num=temp}

//选择法对数据排序

}*/

list

*turn(list

*head)

//链表逆序

{

list

*p,*q,*t

p=head

q=p->next

if(q)

t=q->next

p->next=NULL

while(q)

{

q->next=p

p=q

q=t

if(t)

t=t->next

}

return

p

}

list

*reform(list

*head1,list

*head2)

//合并函数

{

list

*head,*p,*q,*p1,*p2

int

n=0

for(p1=head1,p2=head2p1!=NULL&&p2!=NULL)

{

p=(list

*)malloc(LEN)n++

if(1==n)

head=p

else

q->next=p

if(p1->num>=p2->num)

p->num=p1->num,p1=p1->next

else

p->num=p2->num,p2=p2->next

q=p

}

if(NULL==p1)

q->next=p2

else

q->next=p1

return

head

}

program的意思是:有程序,节目,给…编写程序。

详细解释:

英 ['prəʊɡræm]  美 ['proɡræm]

n. 程序;计划;大纲

vt. 用程序指令;为…制订计划;为…安排节目

vi. 编程序;安排节目;设计电脑程式

词汇搭配:

boot up program自举程序,引导程序

load program输入程序

run program执行程序

computer program计算机程序

software program软件程序

拓展资料:

双语例句

1. He uses tapes of this program to teach English.

他用这个节目的录像带教授英语。

2. Finding a volunteer to write the computer program isn't a problem.

找个志愿者编这个计算机程序不成问题。

3. The reform program has brought unacceptably high unemployment and falling wages.

改革计划造成了令人无法接受的高失业率和工资水平下降。

4. The retrofit program will be carried out at the Montreal facilities.

蒙特利尔将要开展市政设施的翻新改良工程。

5. The outpatient program has a staff of six people.

门诊部有6名工作人员。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7920576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存