ورود

نسخه کامل مشاهده نسخه کامل : مرتب سازی یک لیست پیوندی



sm_315
04-06-2007, 15:13
سلام
چطوری میتونم یک لیست پیوندی رو در زبان c مرتب سازی کنم؟
خیلی نیاز دارم هرکس میدونه لطف کنه بگه:20:

palizesoftware
04-06-2007, 16:17
مثل يه آرايه معمولي منتها در ليست پيوندي با اشاره‌گر سر و كار داري كه آيتم بعدي و قبلي رو بدست بياري

HAW3D
08-06-2007, 09:53
سلام
به نظر من اگه از مرتب سازی درجی استفاده کنین خیلی راحت تر و سریعتر میشه مرتبش کرد البته اگه لیستت زیاد هستش heap بهتره

hamidreza_buddy
09-06-2007, 12:38
اینجا رو ببین:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

lizbazar
20-12-2007, 07:01
این الگوریتم رو یکی از دوستان بهم یاد داد ...
void list::sort()
{
node *p,*q,*z;
int flag,count=0;

cur=top;
while (cur)
{ ++count;
cur=cur->next;
}
for(int i=0;i<count;i++)
{
p=top;
q=top->next;
z=NULL;
for(int j=0;j<count-1;j++)
{ if((p->data > q->data) && p==top)
{ top=p->next;
p->next=q->next;
q->next=p;
flag=1;
}
else if(p->data > q->data)
{ z->next=q;
p->next=q->next;
q->next=p;
flag=1;
}
if(flag)
{ z=q;
q=p->next;
}
else
{ z=p;
p=q;
q=q->next;
}
flag=0;
}
}
}