43
دی ون ی پ ت س لیLINKED LIST A.M. Safaei ه گان ی ش خ ب ی ست ه د داون ام خ هن ن م ش ش سه ل خ

لیست پیوندی

  • Upload
    rayya

  • View
    247

  • Download
    5

Embed Size (px)

DESCRIPTION

جلسه ششم. به نام خداوند هستی بخش یگانه. لیست پیوندی. Linked List. A.M. Safaei. جلسه ششم. لیست پیوندی. لیست پیوندی استفاده از اصطلاح ( لیست) در زندگی روزمره به یک مجموعه خطی از اقلام داده ای گفته می شود که دارای عنصر اول ، دوم ، ... و عنصر آخر است که عنصری به لیست اضافه یا حذف می شود. - PowerPoint PPT Presentation

Citation preview

Page 1: لیست پیوندی

پیوندی LINKED LISTلیست

A.M. Safaei

بخشیگانه هستی خداوند نام به ششم جلسه

Page 2: لیست پیوندی

ششم جلسه

پیوندی لیست

– ) ( اقالم از خطی مجموعه یک به روزمره زندگی در لیست اصطالح از استفاده

... که است آخر عنصر و ، دوم ، اول عنصر دارای که شود می گفته ای داده

. شود می حذف یا اضافه لیست به عنصری

– : لیست و آرایه ساختار دو از الگوریتم سازی پیاده و اطالعات ذخیره برای معموال

. کنیم می استفاده پیوندی

کند – می تغییر پویا بصورت آن اندازه که است ای داده ساختمان پیوندی لیست

. بگیریم اختیار در حافظه دلخواه، اندازه به توان می برنامه اجرای هنگام در یعنی

–. باشد می لیست در رایج اعمال از ها داده پردازش و بازیابی ، ذخیره

پیوندی : – لیست خطی - 1انواع پیوندی عمومی- 2لیست پیوندی لیست- 3لیست

حلقوی طرفه- 4پیوندی دو پیوندی لیست

پیوندی لیست

Page 3: لیست پیوندی

ششم پیوندی جلسه لیست

پیوندی لیست و آرایه های تفاوت برخی

–. باشد می زیر معایبی دارای که باشد می داده ذخیره روش یک آرایه

آن – گرفتن از بعد حافظه بودن ناپذیر بازگشت

نیاز – مورد حافظه بیشترین بینی پیش بودن الزم

– ) ( ( جابجائی شیفت مستلزم آرایه در عناصر اضافه و حذف بودن هزینه پر

) است عناصر

– . شود می انجام پیوندی لیست از راحتر و تر سریع ها آرایه در سازی مرتب و جستجو

در که حالی در شود می انجام باینری و خطی صورت دو به ها آرایه در جستجو زیرا

. ) شود ) می انجام ترتیبی خطی بصورت فقط پیوندی لیست[0] [1] [2]array

A B Cآرایه

linked

A B C پیوندی لیست

Page 4: لیست پیوندی

ششم پیوندی جلسه لیست

. در اگر یعنی پویا حافظه از پیوندی لیست و کنند می استفاده ایستا حافظه از ها آرایه

داشت خواهیم حافظه اتالف شود استفاده آرایه های خانه از کمی تعداد برنامه اجرای

. نیست پذیر امکان کنیم استفاده شده داده تخصیص حافظه از بیش بخواهیم اگر و

) ( ( عناصر جابجائی شیفت مستلزم آرایه در عناصر اضافه و حذف بودن هزینه پر

است(

خواهیم – .Cمی بماند الفبایی آن ترتیب که طوری به کنیم اضافه آن به را

A B D E F

0 1 2 3 4 5

Shift

A B C D E F

0 1 2 3 4 5

Page 5: لیست پیوندی

ششم پیوندی جلسه لیست

پیوندی لیست

گره )– را پیوندی لیست عنصر فیلد؛( nodeهر دو حداقل دارای که نامیم می

اشاره پیوندی لیست در بعدی عنصر به که آدرس فیلد دیگری و داده فیلد

. کند می

گره :– یک Data یا Infoتعریف Next یا Link

اطالعات آدرسگره بعدی struct Node { elementtype info;

Node *next;

}

node

Page 6: لیست پیوندی

ششم پیوندی جلسه لیست

) زنجیر ) ، طرفه یک خطی پیوندی لیست

را بعدی گره آدرس نیازش مورد اطالعات بر عالوه گره هر آن در که است لیستی

. دارد اختیار در نیز

به گره آخرین آدرس می Nullفیلد لیست آخر عنصر دادن نشان که کند می اشاره

باشد.

) ( را لیست گره اولین لیست سر آدرس باید خطی لیست یک به دسترسی برای

. باشیم داشته

با را سرلیست آدرس یا head, first, startمعموال ) Lو می( Listمخفف نشان

دهند.

first 10 Null12 7 4

first

first

info

next

گره همان اطالعات آدرس فیلد به مراجعه

بعدی گره آدرس فید به مراجعه

لیست های گره به ای firstاگر : مراجعه گره به گر اشاره یک

باشد لیست از

Page 7: لیست پیوندی

ششم پیوندی جلسه لیست

پیوندی پیمایشلیست

–. گیرد می صورت آنها پردازش و لیست عناصر تمام به دستیابی منظور به

– ( مثل کمکی گر اشاره یک از باید پیمایش عمل که( Pبرای کنیم استفاده

سرلیست ) گر .firstاشاره نرود( دست از

گر – اشاره حرکت دستور : Pجهت P=P nextاز

–: خطی لیست پیمایش الگوریتم

first Null

P

first Null

PP=first;while (P !=Null)

{ process (Pinfo);

P=P next ;}

Page 8: لیست پیوندی

ششم پیوندی جلسه لیست

پیوندی لیست ابتدای به گره افزودن

پیوندی لیست به جدید داده افزودن می 4برای انجام اصلی عمل

گیرد:

شدنی- 1 افزوده جدید اطالعات اساس بر جدید گره تشکیل

گیرد- )2 قرار جدید گره از قبل باید که ای گره آدرس آوردن (Pبدست

اشارگر- 3 محل به که جدید گره .Pآدرس کند می اشاره

گره- 4 .Pآدرس دهیم می تغییر جدید گره محل به را

Page 9: لیست پیوندی

لیست ابتدای به کردن اضافه

first 0

0

newNode

A

B C D E

newNode=getnode()

newNode link = first;

first = newNode;

پیوندی لیستششم جلسه

Page 10: لیست پیوندی

first

newNode

0A B C D E

newNode =getnode ( );

newNode info=A;

newNode next=first;

first= newNode;

پیوندی لیستششم جلسه

) ادامه ) لیست ابتدای به کردن اضافه

Page 11: لیست پیوندی

ششم پیوندی جلسه لیست

مقدار : – با ای گره خواهیم می کنیم 6مثال اضافه زیر لیست ابتدای به را

عملگر – از استفاده با در ) ( getnodeابتدا را آن آدرس و کنیم می ایجاد خالی گره Pیک

. دهیم می قرارfirst Null3

first Null

P

2 5

P = getnode ( ) ; P

P info =6 ; P 6 0

دستور گر P next = first با اشاره لیست Pقسمت ابتدای به می firstرا وصلfirstکنیم.

Null3 2 5P 6

شود first=Pحال می .firstباعث کند اشاره لیست ابتدای به

5236P =getnode ( );P info=6;P next=first;first= P;

Page 12: لیست پیوندی

ششم پیوندی جلسه لیست

تابع سازی ) (:getnodeپیاده

زبان نام Cدر به دارد وجود به mallocتابعی كه است صورت بدین تابع این كاربرد

بتوانیم اینكه برای دهد می اختصاص را حافظه آن، جلوی درپرانتز شده ذكر عدد اندازه

. كنیم می استفاده زیر شكل به تابع این از بگیریم فضا گره یك ی اندازه بهMalloc (size of (node))

منظور بدین شود پیكربندی گره یك قالب در بایست می شده داده اختصاص فضای

: بنویسیم بایست میNode *malloc (size of (node))

)*( جلوی شده ذكــر اختصاص nodeستاره ی حافظه آدرس كه است خاطر بدین

تابع ی وسیله به نهایتا و شده تولید شده داده . getnodeداده برگشت

Node *get node( ) { return (node *malloc (size of (node)) }

Page 13: لیست پیوندی

ششم پیوندی جلسه لیست

آدرسمعلوم با ای گره از بعد به ای گره افزودن

مقدار با ای آدرس Cگره با ای گره از کنیم Pبعد می درج

first

p

0

newNode C

BA D E

newNode info = C;

newNode next = pnext;

newNode=getnode( );

p next = newNode;

Page 14: لیست پیوندی

ششم پیوندی جلسه لیست

گره اولین حذف

کار گرها( 1: مراحل اشاره ) 2تنظیم کردن( آزاد گره کردن حذف

حافظه(

firstp

0ِhA ِhB C ِhD

p=first;

first = p next

first

p 0ِhA ِhB C ِhD

free node(p)

0ِhB C ِhDfirst

Page 15: لیست پیوندی

ششم پیوندی جلسه لیست

دسترساست در آن قبلی آدرسگره که ای گره حذف

کار حذف( 1: مراحل برای شده مشخص گره از قبل گره اشاره( 2( T )یافتن جای تغییر

گره( 3گرها Pحذف

آدرس با گره خواهیم آدرس Pمی با گره از بعد که استحذفکنیم Tرا

first

p

0ِhA ِhB C ِhD

T next = p next

T

first 0ِhA ِhB C ِhD

T p

first 0ِhA ِhB ِhD

Tfree node (p);

Page 16: لیست پیوندی

ششم پیوندی جلسه لیست

دسترساست در آن قبلی آدرسگره که ای گره حذف الگوریتم

void delete (Node *T, Node *P){ if (P==Null) { count << “ List is Empty”; exit (1); } T next = p next; free node(P); }

Page 17: لیست پیوندی

ششم پیوندی جلسه لیست

تمرین

، معلوم آدرس در درج و لیست ابتدای به درج ، پیمایش الگوریتم

را پیوندی لیست معلوم آدرس از حذف و لیست ابتدای از حذف

نوشته.

Page 18: لیست پیوندی

هفتم پیوندی جلسه لیست

رأس گره با هایی لیست

نمی • محسوب پیوندی لیست از عضوی که اضافی گره یک است ممکن ها لیست از برخی در

. گره این داده قسمت در معموال نامند می رأس گره را آن که گیرد قرار لیست ابتدای در شود

. کنند می استفاده پیوندی لیست های گره تعداد نظیر کنترلی اطالعات برای

• : و درج برای حالت یک شود گرفته نظر در حالت دو باید ها گره حذف و درج در که همانگونه

شود می موجب راس گره اول، گره از بعد حذف و درج دیگر حالت و لیست ابتدای از حذف

در حالت دو که نیست نیازی دیگر حذف و درج برای لذا باشد قبلی گره دارای نیز اول گره که

. شود گرفته نظر

first

لیست ) ( های گره تعداد حاوی رأس گره

0ِh3 ِhA B ِhC

Page 19: لیست پیوندی

هفتم پیوندی جلسه لیست

رأس گره سازی پیاده

می Infoبخش • قرار گره در پیوندی لیست از اطالعاتی موارد دربرخی راس درگره

در و داد قرار را لیست ابتدای به گر اشاره و لیست های گره تعداد توان می مثال گیرد

لیست ی انتها به دیگری و ابتدا به یكی گر اشاره دو تواند می راس گره موارد برخی

. باشد داشته پیوندی

struct Node { elementtype info; Node *next; };struct charstr { int length; Node *firstchar; };charstr S1,S2;

پیوندی :• های لیست در اضافه و حذف عمل اجرائی O(1) مرتبه

Page 20: لیست پیوندی

هفتم پیوندی جلسه لیست

) ( چرخشی حلقوی پیوندی های لیست

آن • گره آخرین آدرس فیلد که تفاوت این با است یکطرفه پیوندی لیست همانند حلقوی پیوندی لیست

به آنکه .NULLبجای ) کند ) می اشاره سرلیست لیست اول گروه به کند اشاره

گره • کلیه به توان می دلخواه گره هر آدرس داشتن با که است این خطی لیست بر لیست این مزیت

سرلیست آدرس بایست می خطی پیوندی لیست در که حالی در داشت، دسترسی پیوندی لیست های

. باشیم داشته اختیار در را

می • فرض گره آخرین روی را لیست به خارجی گر اشاره شود انجام تر ساده لیست مدیریت آنكه برای

. بود خواهد اول گره آن از بعد گره نتیجه در گیریم

P

P info کند می اشاره لیست گره آخرین اطالعات

P next میکند اشاره لیست گره اولین به

Page 21: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی های لیست انتهای یا ابتدا در گره کردن اضافه الگوریتم

حلقوی

endP

void AddNode( Node *endp , elementtype item ){ Newp = getnode () ; Newp info = item ; if (endp = = NULL) { endp = Newp; Newp next = Newp } else { Newp next = endp next; endP next = Newp; }}

کنیم کند endPفرضمی اشاره حلقوی لیست انتهای به

Page 22: لیست پیوندی

هفتم پیوندی جلسه لیست

تمرین

o معنایP = P next ؟ حلقوی لیست یک در

دهد می حرکت لیست در را گر اشاره

دهد می حرکت لیست در اول گره به را گر اشاره

دهد می حرکت لیست در بعدی گره به را گر اشاره

مقدارNull در دهد Pرا می قرار

P

Page 23: لیست پیوندی

هفتم پیوندی جلسه لیست

) پیوندی ) دو های لیست دوطرفه پیوندی های لیست

به • که است پیوند دو دارای نیاز مورد اطالعات بر عالوه گره هر آن در که است لیستی

. باشد داشته دسترسی خود قبلی گره به هم و بعدی گره به هم تواند می آنها وسیله

•. باشد می لیست معکوس پیمایش امکان پیوندی دو های لیست مزایای از یکی

گره به پیوندقبلی

Left info right گره به پیوندبعدی

b ba d NullNull

بجای • کتابها از بعضی بجای rlinkیا nextاز rightدر استفاده llinkیا prevاز leftو

. است شده

Page 24: لیست پیوندی

هفتم پیوندی جلسه لیست

) پیوندی ) دو های لیست دوطرفه پیوندی های لیست

پیوندی • دو لیست در گره ساختار

struct Node { Node *left; Elementtype info; Node *right; }; b ba d NullNull

پیاده نیز حلقوی صورت به توان می را پیوندی دو های لیست

نمود سازی

b ba d

Page 25: لیست پیوندی

هفتم پیوندی جلسه لیست

آدرسمشخص با ای گره از بعد به ای گره افزودن الگوریتم

روبه و جلو روبه پیوندهای تنظیم شامل دوپیوندی لیست در جدید گره درج جهت

. گره جلوی روبه پیوند باید سپس کند اشاره بعد و قبل های گره به تا است عقب

اشاره جدید گره به که کرد تنظیم طوری را بعدی گره عقب به رو پیوند و قبلی

کنند.

محتویات با ای گره از بعد را ای گره خواهیم .aمی کنیم درج

تابع 1. از استفاده .getnodeبا کنیم می ایجاد جدید گره یک

.Infoقسمت 2. کنیم می دهی مقدار را جدید گره

گره 3. کنیم aآدرس می جایگذاری جدید گره چپ فیلد در را

گره 4. راست فیلد .aآدرس دهیم می قرار جدید گره راست فیلد در را

از 5. بعد گره چپ فیلد در را جدید گره .aآدرس کنیم می جایگذاری

گره 6. راست فیلد را جدید گره .aآدرس دهیم می قرار

Page 26: لیست پیوندی

هفتم پیوندی جلسه لیست

با ای گره از بعد را ای گره خواهیم می

.aمحتویات کنیم درج

تابع 1. از استفاده .getnodeبا کنیم می ایجاد جدید گره یک

.Infoقسمت 2. کنیم می دهی مقدار را جدید گره

گره 3. کنیم aآدرس می جایگذاری جدید گره چپ فیلد در را

گره 4. راست فیلد قرار aآدرس جدید گره راست فیلد در را

. دهیم می

از 5. بعد گره چپ فیلد در را جدید گره می aآدرس جایگذاری

کنیم.

گره 6. راست فیلد را جدید گره .aآدرس دهیم می قرار

void Insert( Node *perP , elementtype b ){ Node *Newp ; Newp = getnode() ; if ( IS_FULL(Newp) ){ cout<<" The memory is full"; exit(1);}Newp info = b;newP left = PreP;newP right = PreP right;PreP right left = newP;Pre P right = newP; }

a c

PrePnewP

b

Page 27: لیست پیوندی

هفتم پیوندی جلسه لیست

آدرسمشخص با ای گره حذف الگوریتم

مقدار با گره خواهیم می کنید گر bفرض اشاره لیست Pکه از را کند می اشاره آن به

. کنیم حذف

گره 1. از بعد گره چپ فیلد گره bدر چپ گره دهیم bآدرس می قرار را

گره 2. از قبل گره راست فیلد گره bدر راست گره .bآدرس دهیم می قرار را

به 3. را شده داده اختصاص حافظه .Pمقدار کنیم می آزاد را

void Delete (Node *P) { P right left = P left; P left right= P right; freenode (P); };

a b c

P

زمان با طرفه دو لیست در وحذف درج عمل زمانی O(1)پیچیدگی

. میشود انجام

با برابر طرفه دو لیست در اجرائییجستجو .O(n)مرتبه باشد می

Page 28: لیست پیوندی

هفتم پیوندی جلسه لیست

تمرین

شود؟ 1. می جابجا آدرس چند طرفه دو لیست از گره یک حذف هنگام

اشارگر فیلد ؛ آدرس گر rightدو اشاره فیلد و ماقبل گره leftگره مابعد

. حذفشود خواهد می که ای

کند؟ 2. می تغییر آدرس چند طرفه دو لیست در گره درج هنگام

Page 29: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی لیست با پشته سازی پیاده

– ) پشته ) باالی آن عناصر به توان می طرف یک از فقط که است ساختاری پشته اینکه به توجه با

لیست ابتدای از را گره یک اضافه و حذف اعمال پیوندی لیست یک در اگر داشت، دسترسی

( ) این) به باشد می پشته همانند پیوندی لیست این ساختار گوییم می دهیم انجام سرلیست

.) شود می گفته نیز پیوندی های پشته ساختار

– ، آرایه ثابت اندازه که است این آرایه از استفاده با صف و پشته سازی پیاده معایب از یکی

. کند می محدود را صف و پشته اندازه

struct Node { elementtype info; struct Node *next; } Node *top;

0

TopX

Page 30: لیست پیوندی

هفتم پیوندی جلسه لیست

( پشته به (Pushافزودن

void push (Node *top, elementtype item) { ptr = getnode( ); if ( IS – FULL (ptr)) { count << “ the memory is full”; exit (1); }Ptr info = item;Ptr next = top; top = ptr; }

0

Topitemptr

Top

Page 31: لیست پیوندی

هفتم پیوندی جلسه لیست

( پشته از (Popحذف

void pop (Node *top) { if ( top == Null) { count << “ stack is empty”; exit (1); }Node *ptr;ptr = top;Top = top next;freenode (ptr); }

0

Topitemptr

Top

Page 32: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی لیست با سازیصف پیاده

اول – گره آدرس پیوندی لیست در آخر frontاگر گره آدرس همواره rearو و باشیم داشته را

پیاده پیوندی صف یک دهیم، انجام لیست آن انتهای به را درج عمل و ابتدا از را حذف عمل

گر اشاره دو دارای ساختار این در ایم، کرده انتهای rearو frontسازی و ابتدا به که باشیم می

. کند می اشاره پیوندی frontلیست

Null

rear

struct queue { elemnttype info; queue *next; };queue *front,*rear;

پیوندی لیست از استفاده با صف سازی پیاده

Page 33: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی صف به افزودن

صورت – صف انتهای از بایست می پیوندی صف به کردن اضافه عمل دانیم می که همانطور

اگر کنیم، اضافه پیوندی لیست انتهای به را ای گره خواهیم می گیرد، آخرین rearمی به

گره زیر الگوریتم کند، اشاره لیست :ptrگره کند می اضافه پیوندی صف آخر به را

void Add(Node *rear , elementtype item ){ ptr = getnode(); if ( IS_FULL(ptr) ) { cout<<" The memory is full " ; exit(1) ; } ptr info = item; ptr next= NULL; rear next = ptr; rear= ptr;}

Page 34: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی صف از حذف

– . اولین باشد می امکانپذیر صف سر از صف از حذف عمل دانید می که همانطور

. کنیم می حذف را صف گره

void Delete(Node *front )

{

Node *ptr;

ptr = front;

front = front next;

freenode (ptr); }

front

Null

rear

ptr

front

Page 35: لیست پیوندی

هفتم پیوندی جلسه لیست

لیستعمومی

حسب بر تواند می آن های گره اطالعات فیلد که است پیوندی لیست یک عمومی لیست

اشاره :نیاز است زیر صورت به لیست نوع این گره هر ساختار باشد، گر

Tag Info/Dlink Link

: لیستعمومی در گره انواع

•Tag. است گره نوع دهنده نشان

•]Info/Dlink. باشد می دیگر لیست زیر یک به گر اشاره یا داده دهنده نشان

•Link مقدار .Nullدارای کند می اشاره بعدی گره به یا و

•. شود می استفاده درخت نمایش برای عمومی های لیست عموما

Page 36: لیست پیوندی

هفتم پیوندی جلسه لیست

لیستعمومی

: لیستعمومی در گره انواع

که • صورتی یا Tagدر صفر با وسط Falseبرابر فیلد که است این دهنده نشان باشد

(info. گیرد( می قرار داده فقط یعنی باشد می ارزش دارای

که • صورتی یا Tagدر یک با وسط Trueبرابر فیلد که است این دهنده نشان باشد

Dlink لیست زیر یک به و است گر اشاره خود وسط فیلد یعنی است آدرس دارای

. کند می اشاره دیگر

• : فوق عمومی لیست پرانتزی فرم Glist = (a,(b,c),d,((e)))نمایش

Page 37: لیست پیوندی

هفتم پیوندی جلسه لیست

پیمایشلیستعمومی

پیمایشلیستعمومی بازگشتی الگوریتمvoid travelsal(Node *Glist)

{

if ( Glist != Null )

{

if (Glist tag ==0)

count<< Glist info;

else travelsal (Glist Dlink);

travelsal (Glist link);

}

}

Page 38: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی لیست با ها ای جمله نمایشچند

. دهیم می نمایش پیوندی لیست گره یک با را آن جمله هر ای جمله چند نمایش برای

در زیر ساختاری طبق گره هر و است شده تشکیل توان یک و ضریب یک از جمله هر

. گیرد می قرار پیوندی لیست

0101 ...)( ee

n xaxaxP n 0... 011 eeen اینکه فرض با

ضریب توان گر اشاره

coef exp nextCoefficient ضریبExponent توان next گر اشاره

struct Node { int coef; int exp ; Node *next; };

Page 39: لیست پیوندی

هفتم پیوندی جلسه لیست

پیوندی لیست با ها ای جمله نمایشچند

: دهید نمایش پیوندی لیست بصورت را زیر ای جمله چند مثال

1235)( 610 xxxPضریب توان گر اشاره

coef exp next

3 6 12 05 10 Null

Page 40: لیست پیوندی

هفتم پیوندی جلسه لیست

1تمرین

بصورت بازگشتی پیمایشلیستخطی :غیر

void Display (Node *first) { Node *P = first; while ( P != Null) { count << P info; P = P next; } }

بصورت ؟ بازگشتیپیمایشلیستخطی است چگونه

Page 41: لیست پیوندی

هفتم پیوندی جلسه لیست

2تمرین

بصورت لیستخطی یک در مقدار یک بصورت : بازگشتیجستجوی

Node * Search (Node *first, elementtype x) { if(first == Null) return Null; else if ( first info == x) return first; else return serach (first next,x); }

بصورت لیستخطی در مقدار یک بازگشتی جستجوی ؟ غیر است چگونه

Page 42: لیست پیوندی

هفتم پیوندی جلسه لیست

3تمرین

. بنویسید را خطی پیوندی لیست انتهای در عنصر افزودن الگوریتم

. بنویسید را پیوندی لیست دو الحاق الگوریتم

. بنویسید را پیوندییصحیح لیست عناصر مجموع محاسبه الگوریتم

. بنویسید را پیوندی لیست عناصر تعداد محاسبه الگوریتم

4تمرین ماتریساسپارس ماتریس Bو Aدو دو که بنویسید تابعی بگیرید، درنظر را

. نماید سازی پیاده پیوندی های لیست وسیله به را

5تمرین. کند الحاق هم به را حلقوی لیست دو که بنویسید تابعی

Page 43: لیست پیوندی

Any Question

????