PDA

View Full Version : افزودن یک node به قبل از گره ای که pointer به آن اشاره میکند



lena abbaszadeh
دوشنبه 18 آبان 1388, 08:40 صبح
سلام
من به یه مساله برخوردم
سوال اینه:
ما یه لست پیوندی 3 گره ای دارم که pointer به گره وسط اشاره میکن
حالا می خواهیم یه گره به قبل گره وسط اضافه کنیم
چه باید کرد؟؟؟؟؟

mortezamsp
دوشنبه 18 آبان 1388, 09:44 صبح
باسلام.

اگه لیست دوطرفه باشه ،


class node
{
node(int);
node *next;
node *prew;
}

میشه راحت این کار رو انجام داد.فرض کن میخوایم به گره ماقبل p یکی اظافه کنیم:اول باید آدرس گره قبلی را یکجای دیگر q نگهداریم:

node *n=new node(0);
node *q=p->prew;
q->next=new;
new->next=p;
p->prew=new;
new->prew=q;

lena abbaszadeh
چهارشنبه 20 آبان 1388, 14:22 عصر
لیست یه طرفه است
یادم رفت بگم:خجالت:

mortezamsp
چهارشنبه 20 آبان 1388, 22:45 عصر
با سلام.




node *q=first;
node *n=new node(0);

n->next=p;
q->next=n;




روش کلی برای اظافه کردن گره بین p و q :


node *n=new node(0);

n->next=p;
q->next=n;

lena abbaszadeh
پنج شنبه 21 آبان 1388, 09:37 صبح
مشکل اینه که ما q را نداریم

lena abbaszadeh
پنج شنبه 21 آبان 1388, 09:45 صبح
qملزوما first نیست