思路:好像是网上看到的方法,先将第一个链表的尾巴与第二个链表的头拼接起来,然后遍历一遍看一下有多少个点,再做一遍冒泡排序
struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2)
{
struct ListNode *p;
int n = 0;
p = list1;
while(p != NULL)
{
if(p->next == NULL) { p->next = list2; break;}
p = p->next;//将list1和list2连接起来
}
p=list1;
while(p != NULL)
{
n ++;//统计大小
p = p->next;
}
p = list1;
int i = 0;
int a[n];
while(p != NULL)
{
a[i ++]= p->data;
p = p->next;
}
for(int i = 0; i < n - 1; i ++ )
for (int j = 0; j < n - i - 1; j ++ )
{
if(a[j] > a[j + 1])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
p = list1;
i = 0;
while(p != NULL)
{
p->data = a[i ++];
p = p->next;
}
return list1;
}