PDA

View Full Version : معنای P^.link=p^.link^.linkچیست؟



sajad_3dmax
دوشنبه 01 آذر 1389, 20:34 عصر
با سلام . اگر p یک اشاره گر در لیستی پیوندی باشد معنای کد زیر چیست؟
;P^.link=p^.link^.link
با تشکر...

xxxxx_xxxxx
سه شنبه 02 آذر 1389, 01:50 صبح
سلام،
بخش اشاره گر گره ای که P به اون اشاره میکنه، به دو گره جلو تر منتقل میشه. یعنی یک گره اون وسط حذف میشه.

taranom20
سه شنبه 02 آذر 1389, 06:57 صبح
سلام،
بخش اشاره گر گره ای که P به اون اشاره میکنه، به دو گره جلو تر منتقل میشه. یعنی یک گره اون وسط حذف میشه.

با سلام
مطمئنید؟!
دستور P^.link=p^.link^.link تغییری در ساختار لیست ایجاد نمی کنه.
این که شما میگید P=p^.link^.link است.

pesar irooni
سه شنبه 02 آذر 1389, 14:31 عصر
سلام
چرا اتفاقا ایشون درست میگند.
یه گره حذف میشه
در اصل مقدار اشاره گر عوض میشه، p که خودش یه اشاره گر به یه گره از ساختاره
این دستور : p = p^.link^.link تنها این اشاره گر رو دوتا عنصر جلوتر میبره و به ساختار اصلی کاری نداره
مثلا تو این عکس فرض کن اشاره گر p داره به ند A اشاره میکنه. اونوقت p^.link = p^.link^.link به معنیه p^.next = (p^.next)^.next


http://image.absoluteastronomy.com/images/encyclopediaimages/s/si/singly_linked_list_delete_after.png

taranom20
چهارشنبه 03 آذر 1389, 06:06 صبح
بله درسته
حق با شماست