ورود

View Full Version : سوال: لیست پیوندی



nima_java
دوشنبه 10 خرداد 1395, 09:43 صبح
سلام ...من تو پروزه ام میخوام به حذف عناصر لیست پیوندی بپردازم

while(q!=NULL)
{
if(regis_num==p->sh_sabt&&p->next==NULL)
{
q=NULL;
return;




regis_num=شماره ی ثبت
p->sh_sabt=شماره ثبت شی مورد نظر
p=اشاره گری به اول لیست پیوندی...
q هم اشاره گر کمکی برای پیمایش...
سه حالت برای حذف وجود داره... حذف از اول لیست پیوندی...حذف از وسط...وحذف از اخر...میخوام وقتی شماره ثبت برابر با شماره ثبت شی مورد نظر شد با توجه به این که در ابتدا قرار داره یا در انتها یا در وسط برام اون گره رو حذف کنه
کدی که من بالا نوشته ام فقط یه قسمت از لیست پیوندی هستش...حذف از ابتدا...البته اینم درست نیست...مفاهیم لیست پیوندی رو بلدم...حذف از ابتدا و وسط و انتها ...ولی تا به حال الگوریتم به درد بخوری برای مشکل خودم پیدا نکردم

AJL110ALI
پنج شنبه 13 خرداد 1395, 14:09 عصر
یه همچین چیزی میشه معمولا

q=p;
while ( q != NULL ) {
if ( regis_num == q->sh_sabt) {
q->previous.next = q->next;
q->next.prevous = q->previous
delete q;
return;
}
}

اگه لیست دو طرفه نیست قبلی رو باید یه جا داشته باشی که بتونی next اون رو set کنی