
نوشته شده توسط
ghafoori
دوست عزیز با وجود کلاس arraylist دیگر نیاز به لیستهای پیوندی نیست این کلاس یک ارایه با طول متغییر است و کار با ان هم خیلی راحت است
1) Arraylist هیچ ربطی به لیست های پیوندی نداره
دلیل : ساختمان داده این دو با هم فرق می کنند
2)Arraylist در دات نت 2 با وجود Generic ها شدیدا توصیه میشه که استفاده نشه
دلیل : ArrayList ها SafeCode نیستند و کد های Unsafe تولیدمی کنند (خواستید بگین تا بیشتر توضیح بدم)
3) به جای ArrayList ها از genericList ها استفاده بشه
دلیل :
1 ) همه خواص ArrayList ها را داره
2) Safe می باشد
نمونه :
List<int> IntegerList = newList<int>();
IntegerList.Add(25);
.
.
.
.
IntegerList.Add(40);
می شه نحوه پیاده سازی لیست پیوندی در سی شارپ رو توضح بدید؟
برای لیست پیوندی از LinkedList<T> استفاده بشه
به جای T میتونین نوع دلخواه خودتون را بذارین
این کلاس تمامی اعمالی که میشه روی یک لیست پیوندی را انجام داد براتون مهیا میکنه
نمونه
LinkedList<int> LList = newLinkedList<int>();
LinkedListNode<int> newNode = newLinkedListNode<int>(10);
LList.AddFirst(newNode);
LList.AddAfter(newNode, 20);
.
.
.
.
LList.Remove(newNode);
.
.
.
اکثر DataStructure ها(مثل Stack و QUEUE و ...) در سی شارپ پیاده سازی شدند که میتونین از
System.Collections.Generic; پیداشون کنید(برای حالت Generic)
برای غیر generic هم از
System.Collections میتونین استفاده کنین که البته لیست پیوندی فقط در generic ها پیاده سازی شده
موفق باشید