|
发表于 2020-11-21 18:46:24
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#define MAXSIZE 20
typedef int ElemType;
#define ok 1;
#define error 0;
typedef int Status;
typedef struct
{
ElemType data[MAXSIZE];
int length;
}List;
void unionL(List *La,List Lb)
{
ElemType ListInsert(List *L,int i,ElemType e);
ElemType GetElem(List L,int i,ElemType *e);
int Listlength(List L);
int LocateElem(List L,ElemType e);
int La_len,Lb_len,i;
ElemType e;
La_len=Listlength(*La);
Lb_len=Listlength(Lb);
for(i=1;i<Lb_len;i++)
{
GetElem(Lb,i,&e);
if(!LocateElem(*La,e))
ListInsert(La,++La_len,e);
}
}
int LocateElem(List L,ElemType e) //获得元素
{
int i=0,number=0;
for(i=0;i<L.length;i++)
{
if(L.data[i]==e){number=1;break;}
else {number=0;}
}
return number;
}
int Listlength(List L)
{
int i;
i=L.length;
return i; //次数
}
Status GetElem(List L,int i,ElemType *e) //日常中的排序i从1开始
{
if(i>L.length || i<1 || L.length==0) //查误
return error;
*e=L.data[i-1]; //赋值
return ok;
}
ElemType ListInsert(List *L,int i,ElemType e) //日常中的排序i从1开始
{
int k;
if(L->length==MAXSIZE)
return error;
if(i<1 || i>L->length+1)
return error;
if(i<=L->length)
{
for(k=L->length-1;k>=i-1;k--)
L->data[k+1] = L->data[k];
}
L->data[i-1] = e;
L->length++;
return ok;
}
int main()
{
void unionL(List *La,List Lb);
List a,b;
int i,h;
List *arr;
printf("Please input a numbers:\n");
for(h=0,a.length=0;h<5;h++)
{
scanf("%d",&a.data[h]);
++a.length;
}
printf("\n");
printf("Please input b numbers:\n");
for(h=0,b.length=0;h<5;h++)
{
scanf("%d",&b.data[h]);
++b.length;
}
arr=&a;
unionL(arr,b); //应该是结构体数组
for(i=0;i<10;i++)
printf("%d\t",arr->data[i]);
return 0;
} |
|