/*
001: 多个有序链表,找出数据均相同的结点
*/
list_type * list_array[5];
int curr_value;
int curr_list;
int i;
bool end = false;
list_array[0] = list0->head;
list_array[1] = list1->head;
list_array[2] = list2->head;
list_array[3] = list3->head;
list_array[4] = list4->head;
curr_list = 0;
curr_value = list_array[curr_list]->value;
/*如果其中某一个链表到头了,或者找了一遍还没有找到,就说明没有了*/
for (i = curr_list + 1; i != curr_list && !end ; i = (i + 1)%5)
{
while(1)
{
if (list_array[i]->value <= curr_value)
{
list_array[i] = list_array[i]->next;
if (NULL == list_array[i])
{
end = true ;
}
break;
}
else if (list_array[i]->value == curr_value)
{
if ( (i+1)%5 == curr_list) /*把其余四个链表都遍历一遍了,说明真的找到这个值了*/
{
printf("Find the Node of Whitch the Value is %d\n",curr_value);
/*找到后,进行下一个*/
list_array[i] = list_array[i]->next;
if (NULL == list_array[i])
{
end = true ;
}
else
{
/*重新设置当前值和当前链表*/
curr_list = i;
curr_value = list_array[i]->value ;
}
break;
}
else /*继续另外一个链表的查找*/
break;
}
else
{
/*重新设置当前值和当前链表*/
curr_list = i;
curr_value = list_array[i]->value ;
break;
}
}
}
001: 多个有序链表,找出数据均相同的结点
*/
list_type * list_array[5];
int curr_value;
int curr_list;
int i;
bool end = false;
list_array[0] = list0->head;
list_array[1] = list1->head;
list_array[2] = list2->head;
list_array[3] = list3->head;
list_array[4] = list4->head;
curr_list = 0;
curr_value = list_array[curr_list]->value;
/*如果其中某一个链表到头了,或者找了一遍还没有找到,就说明没有了*/
for (i = curr_list + 1; i != curr_list && !end ; i = (i + 1)%5)
{
while(1)
{
if (list_array[i]->value <= curr_value)
{
list_array[i] = list_array[i]->next;
if (NULL == list_array[i])
{
end = true ;
}
break;
}
else if (list_array[i]->value == curr_value)
{
if ( (i+1)%5 == curr_list) /*把其余四个链表都遍历一遍了,说明真的找到这个值了*/
{
printf("Find the Node of Whitch the Value is %d\n",curr_value);
/*找到后,进行下一个*/
list_array[i] = list_array[i]->next;
if (NULL == list_array[i])
{
end = true ;
}
else
{
/*重新设置当前值和当前链表*/
curr_list = i;
curr_value = list_array[i]->value ;
}
break;
}
else /*继续另外一个链表的查找*/
break;
}
else
{
/*重新设置当前值和当前链表*/
curr_list = i;
curr_value = list_array[i]->value ;
break;
}
}
}