sq_list合并函数
This commit is contained in:
parent
a3cedae39a
commit
285c764123
@ -1,6 +1,2 @@
|
|||||||
linked_list.c
|
sq_list.c
|
||||||
C:\code\lencode\Project2\linked_list.c(31,24): warning C4028: 形参 1 与声明不同
|
|
||||||
C:\code\lencode\Project2\linked_list.c(59,2): warning C4047: “return”:“address_node *”与“int”的间接级别不同
|
|
||||||
sq_list.c
|
|
||||||
正在生成代码...
|
|
||||||
Project2.vcxproj -> C:\code\lencode\Project2\Debug\Project2.exe
|
Project2.vcxproj -> C:\code\lencode\Project2\Debug\Project2.exe
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
27
sq_list.c
27
sq_list.c
@ -80,36 +80,37 @@ void print_sq_list(sq_list* list)
|
|||||||
// 2 到 1
|
// 2 到 1
|
||||||
void merge_sq_list(sq_list* list_1, sq_list* list_2)
|
void merge_sq_list(sq_list* list_1, sq_list* list_2)
|
||||||
{
|
{
|
||||||
if (list_1->data == 0 || list_2->length == 0)
|
if (list_1->length == 0 || list_2->length == 0)
|
||||||
{
|
{
|
||||||
printf("有一个空表\n");
|
printf("有一个空表\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((list_1->length + list_1->length) > MAX)
|
if ((list_1->length + list_2->length) > MAX)
|
||||||
printf("总和超范围\n但是会继续合并只不过可能为有损合并\n");
|
printf("总和超范围\n但是会继续合并只不过可能为有损合并\n");
|
||||||
int flog = list_2->length;
|
int flog = 0;
|
||||||
for (int i = 0; i < list_2->length; i++)
|
for (int i = 0; i < list_2->length; i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
for (int j = 0; j < list_1->length; j++) {
|
for (int j = 0; j < list_1->length; j++)
|
||||||
|
{
|
||||||
if (list_1->data[j] != list_2->data[i])
|
if (list_1->data[j] != list_2->data[i])
|
||||||
continue;
|
continue;
|
||||||
else if (list_1->data[j] != list_2->data[i])
|
else if (list_1->data[j] == list_2->data[i])
|
||||||
break;
|
{
|
||||||
|
flog++; break;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
list_1->data[list_1->length] = list_2->data[i];
|
list_1->data[list_1->length] = list_2->data[i];
|
||||||
list_1->length++;
|
list_1->length++;
|
||||||
flog--;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
printf("有%d不相同 有%d相同\n", flog, list_2->length - flog);
|
printf("有%d相同 有%d不相同\n", flog, list_2->length - flog);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ist_1->data[list_1->length] = list_2->data[i];
|
//if (list_1->data[j] != list_2->data[i])
|
||||||
list_1->length++;
|
//continue;
|
||||||
flog--;
|
//else if (list_1->data[j] == list_2->data[i])
|
||||||
break;*/
|
//break;
|
Loading…
x
Reference in New Issue
Block a user