假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合,现要求另辟空间构成一个顺序链表C

#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef struct
{
int *elem;
int length;
int listsize;
} SqList;
int InitList_Sq(SqList *L,int len)
永磁发电机
{
//构造一个空的线性表L,该线性表预定义大小为len
L->elem=(int *)malloc(sizeof(int)*len);
if(!L->elem) return ERROR;
L->length=0;
L->listsize=len;
return OK;
}
int Load_Sq(SqList *L)
{
// 输出顺序表中的所有元素
int i;
if(L->length==0) printf("The List is empty!");
else
{
for(i=0;i<L->length;i++) printf("%d ",L->elem[i]);
}
printf("\n");
return OK;
}
int Merg(SqList *LA,SqList *LB,SqList *LC)
{
int i,j,k;
i=j=k=0;
while(i<LA->length&&j<LB->length)
{
if(LA->elem[i]<LB->elem[j])
{
LC->elem[k]=LA->elem[i];
led背光屏LC->length++;
k++;
i++;
}
else
{
布卫生巾LC->elem[k]=LB->elem[j];
LC->length++;
k++;
j++;
}
}
while(i<LA->length)
{
LC->elem[k]=LA->elem[i];
LC->length++;
k++;
i++;
}
while(j<LB->length)
{
LC->elem[k]=LB->elem[j];
LC->length++;
加热搅拌反应釜k++;
j++;
}
return OK;
}
int Free_Sq(SqList *L)
{
free(L->elem);
L->elem=NULL;
return OK;
}
int main()
{
SqList *LA,*LB,*LC;
int a_len,b_len,i;
scanf("%d",&a_len);
LA=(SqList*)malloc(sizeof(SqList));
LB=(SqList*)malloc(sizeof(SqList));
LC=(SqList*)malloc(sizeof(SqList));
InitList_Sq(LA,a_len);
for(i=0;i<a_len;i++)
{
scanf("%d",&LA->elem[i]);
LA->length++;
}
scanf("%d",&b_len);
InitList_Sq(LB,b_len);
for(i=0;i<b_len;i++)
{
scanf("%d",&LB->elem[i]);
LB->length++;
}
简易热水器InitList_Sq(LC,a_len+b_len);
Merg(LA,LB,LC);
printf("List A:");
Load_Sq(LA);
printf("List B:");
Load_Sq(LB);
printf("List C:");
Load_Sq(LC);
Free_Sq(LA);
Free_Sq(LB);
Free_Sq(LC);
free(LA);
free(LB);
free(LC);
return 0;
}

本文发布于:2024-09-22 01:55:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/100422.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:线性表   顺序   表中   搅拌   装置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议