مشاهده نسخه کامل
: مرتب سازی یک لیست پیوندی
سلام
چطوری میتونم یک لیست پیوندی رو در زبان c مرتب سازی کنم؟
خیلی نیاز دارم هرکس میدونه لطف کنه بگه:20:
palizesoftware
04-06-2007, 16:17
مثل يه آرايه معمولي منتها در ليست پيوندي با اشارهگر سر و كار داري كه آيتم بعدي و قبلي رو بدست بياري
سلام
به نظر من اگه از مرتب سازی درجی استفاده کنین خیلی راحت تر و سریعتر میشه مرتبش کرد البته اگه لیستت زیاد هستش 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;
}
}
}
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.