NO.11
LinkedList ReverseSinglyLinkedList(LinkedList list)
{
LinkedList newList;
LNode *tmp;
if (list == NULL || (newList = (LinkedList)malloc(sizeof(LNode))) == NULL)
{
return NULL;
}
newList->data = list->data;
newList->next = NULL;
while (list->next != NULL)
{
tmp = newList->next;
newList->next = list->next;
list->next = list->next->next;
newList->next->next = tmp;
}
free(list);
return newList;
}
node *unite_sort(node *head1, node *head2)
{
node *head;
node *cur;
if (NULL == head1)
{
return head2;
}
if (NULL == head2)
{
return head1;
}
if (head1->data < head2->data)
{
head = head1;
head1 = head1->next;
}
else
{
head = head2;
head2 = head2->next;
}
for (cur = head; head1 != NULL && head2 != NULL; )
{
if (head1->data < head2->data)
{
cur->next = head1;
cur = head1;
head1 = head1->next;
}
else
{
cur->next = head2;
cur = head2;
head2 = head2->next;
}
}
cur->next = (NULL == head1) ? head2 : head1;
return head;
}
转自:http: