void UnionSet(SListNode* l1, SListNode* l2)
{
assert(l1 || l2);
while ((l1!=NULL)&&(l2!=NULL))
{
if (l1->_data == l2->_data)
{
printf("%d\n", l1->_data);
l1 = l1->_next;
l2 = l2->_next;
}
else
{
if ((l1->_data) > (l2->_data))
{
l2 = l2->_next;
}
else
{
l1 = l1->_next;
}
}
}
return;
}
求两个已经排序的链表中的相同数据。前提是这两个链表已经排好顺序了,这样问题就简单了很多,和之前合并两个有序链表是一样的道理。
assert(l1 || l2);
首先对两个链表进行判断如果有一个为空的话就直接断言。
while ((l1!=NULL)&&(l2!=NULL))
{