C语言合并两个集合(L,L1) 将L1中不在L中的元素插入到L线性表中

void main()
{

Sqlist L,L1;

InitList(&L);
InitList(&L1);

ListInsert(&L, 1, 2);
ListInsert(&L, 2, 3);
ListInsert(&L, 1, 1);

ListInsert(&L1,1,1);
ListInsert(&L1,2,2);
ListInsert(&L1,3,4);

for (int i = 0; i <L1.length; i++)
{
int flag = 0;

for (int j = 0; j < L.length; j++)
{
if (L1.elem[i] == L.elem[j]) {
flag = 1;
break;
}

}
if (!flag) {
ListInsert(&L, (L.length + 1), L1.elem[i]);
}

}
//输出顺序链表中的所有值
for (int i = 0; i < L.length; i++)
{
printf("元素的第%d值为%d\n", i + 1, L.elem[i]);

}
//int del_e = 0;

//ListDelete(&L, 3, del_e);

//printf("删除的元素为%d\n", del_e);

//printf("输出删除后的线性表\n");

//输出顺序链表中的所有值
/*for (int i = 0; i < L.length; i++)
{
printf("元素的第%d值为%d\n", i + 1, L.elem[i]);

}*/


}

 

该算法的时间复杂度f(n2)

 

posted on 2017-09-15 18:20  paulversion  阅读(775)  评论(0编辑  收藏  举报