|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大神求助哪里有问题 我感觉这个有点漂移数据结构了
#include<stdio.h>
typedef struct
{
int la[10];
int lb[5];
}list;
void getelem(int *lb,int i,int *e) //取lb中第i个数据元素赋给e
{
*e = lb[i];
int p;
p = 1;
}
int locateelem(int *la,int la_len, int *e)
{
int i, n = 0;
for (i = 0; i < la_len; i++)
{
if (la[i] == *e)
n++;
}
return n;
}
void listinsert(int *la,int s,int*e)
{
la[s] = *e;
}
void union1(list *L)
{
int i,*e,s=0;
int la_len, lb_len;
la_len = sizeof(L->la)/sizeof(int); //获取la的长度
lb_len = sizeof(L->lb) / sizeof(int); //获取lb的长度
e = (int *)malloc(4 * sizeof(int));
for (i = 0; i < lb_len; i++)
{
getelem(L->lb, i, e);
if (!locateelem(L->la, la_len, e))
{
listinsert(L->la, s, e);
}
else
{
s++;
}
}
}
int main()
{
list l;
for (int i = 0; i < 8; i++)
l.la[i] = i + 1;
for (int j = 0; j < 5; j++)
l.lb[j] = j + 6;
union1(&l);
for (int i = 0; i < 10; i++)
printf("%3d", l.la[i]);
getchar();
} |
|