<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名工作人员。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)