一个关于链表排序的方法
[*]
[*]struct myLink
[*]{
[*] int value;//数据域
[*] struct myLink *next; //指针域
[*]};
[*]class Link
[*]{
[*]private:
[*] struct myLink *head; //头指针
[*] struct myLink *cur; //当前位置的指针
[*] int length; //link的长度
void Link::sort()
{
if(length >1 )
{
int count =1 ;
while(length!=count)
{
int i= count ;
struct myLink * temp = head;
cur = head ;
while(length !=i )
{
if(cur->value > cur->next->value )
{
cur->value += cur->next->value;
cur->next->value = cur->value - cur->next->value;
cur->value -= cur->next->value;
}
cur = cur->next;
i++ ;
}
temp = temp->next ; 这个地方一直想不明白,这句代码有必要存在吗?
count++ ;
}
}
}
页:
[1]