struct ListNode
{
int value ;
struct ListNode *Next;
};
void LinkedList::sort()
{
ListNode *node,*minnode,*head1,*node1;
head1=Head;
while(head1!=NULL)
{
node=head1;
minnode=node->Next;
while(node->Next!=NULL)
{
if(minnode->value>node->Next->value)
minnode=node;
node=node->Next;
}
if(minnode->Next!=head1->Next)
{
node1=head1->Next->Next;
head1->Next=minnode->Next;
minnode->Next=minnode->Next->Next;
head1->Next->Next=node1;
}
head1=head1->Next;
}
}
我是想每次把最小的链选出来,插到头上去。额……应该有很多地方错了,哪位大神帮帮小弟。
{
int value ;
struct ListNode *Next;
};
void LinkedList::sort()
{
ListNode *node,*minnode,*head1,*node1;
head1=Head;
while(head1!=NULL)
{
node=head1;
minnode=node->Next;
while(node->Next!=NULL)
{
if(minnode->value>node->Next->value)
minnode=node;
node=node->Next;
}
if(minnode->Next!=head1->Next)
{
node1=head1->Next->Next;
head1->Next=minnode->Next;
minnode->Next=minnode->Next->Next;
head1->Next->Next=node1;
}
head1=head1->Next;
}
}
我是想每次把最小的链选出来,插到头上去。额……应该有很多地方错了,哪位大神帮帮小弟。