## LinkedList class


[LinkedList](./) forward declaration.

```cpp
template<typename T>class LinkedList : public virtual System::Object,
                                       public System::Collections::Generic::ICollection<T>,
                                       private System::Collections::Invalidatable
```


| Parameter | الوصف |
| --- | --- |
| T | نوع القيمة المحتواة. |
## Nested classes

* Class [Enumerator](./enumerator/)
## الطرق

| طريقة | الوصف |
| --- | --- |
| [Add](./add/)(const T\&) override | يضيف **element** إلى نهاية القائمة. |
| [AddAfter](./addafter/)(const SharedPtr\<LinkedListNode\<T\>\>\&, const T\&) | يضيف **element** بعد **node** في القائمة. |
| [AddAfter](./addafter/)(const SharedPtr\<LinkedListNode\<T\>\>\&, const SharedPtr\<LinkedListNode\<T\>\>\&) | يضيف **newNode** بعد **node** في القائمة. |
| [AddBefore](./addbefore/)(const SharedPtr\<LinkedListNode\<T\>\>\&, const T\&) | يضيف **element** قبل **node** في القائمة. |
| [AddBefore](./addbefore/)(const SharedPtr\<LinkedListNode\<T\>\>\&, const SharedPtr\<LinkedListNode\<T\>\>\&) | يضيف **newNode** قبل **node** في القائمة. |
| [AddFirst](./addfirst/)(const T\&) | يضيف **element** إلى بداية القائمة. |
| [AddFirst](./addfirst/)(const SharedPtr\<LinkedListNode\<T\>\>\&) | يضيف **newNode** إلى بداية القائمة. |
| [AddLast](./addlast/)(const T\&) | يضيف **element** إلى نهاية القائمة. |
| [AddLast](./addlast/)(const SharedPtr\<LinkedListNode\<T\>\>\&) | يضيف **newNode** إلى نهاية القائمة. |
| [begin](./begin/)() | يحصل على المؤشر إلى العنصر الأول في المجموعة. |
| [begin](./begin/)() const | يحصل على مُكرّر للعنصر الأول في المجموعة المؤهلة بـ const. |
| [cbegin](./cbegin/)() const | يحصل على المؤشر إلى العنصر الأول المؤهل كـ const في المجموعة. |
| [cend](./cend/)() const | يحصل على المؤشر لعنصر غير موجود مؤهل كـ const يقع خلف نهاية المجموعة. |
| [Clear](./clear/)() override | يحذف جميع العناصر في القائمة. |
| [Contains](./contains/)(const T\&) const override | يتحقق مما إذا كان **element** موجودًا في القائمة. |
| [CopyTo](./copyto/)(ArrayPtr\<T\>, int) override | ينسخ بيانات الحاوية إلى عناصر المصفوفة الموجودة. |
| [crbegin](./crbegin/)() const | يحصل على مكرّر عكسي للعنصر الأخير المؤهل كـ const في المجموعة (الأول في الاتجاه العكسي). |
| [crend](./crend/)() const | يحصل على مكرّر عكسي لعنصر غير موجود مؤهل كـ const قبل بداية المجموعة. |
| [end](./end/)() | يحصل على المؤشر لعنصر غير موجود يقع خلف نهاية المجموعة. |
| [end](./end/)() const | يحصل على المؤشر لعنصر غير موجود يقع خلف نهاية المجموعة المؤهلة كـ const. |
| [Find](./find/)(const T\&) const | يقوم بالبحث في الاتجاه الأمامي عن **element** في القائمة. |
| [FindLast](./findlast/)(const T\&) const | يقوم بالبحث في الاتجاه العكسي عن **element** في القائمة. |
| [get_Count](./get_count/)() const override | يحصل على عدد العناصر في القائمة. |
| [get_First](./get_first/)() const | يحصل على مؤشر إلى العنصر الأول في القائمة. |
| [get_Last](./get_last/)() const | يحصل على مؤشر إلى العنصر الأخير في القائمة. |
| [GetEnumerator](./getenumerator/)() override | يحصل على المُعدد للتنقل عبر [LinkedList](./) الحالي. |
| [LinkedList](./linkedlist/)() | ينشئ [LinkedList](./) فارغ. |
| [LinkedList](./linkedlist/)(const SharedPtr\<IEnumerable\<T\>\>\&) | منشئ النسخ. |
| [rbegin](./rbegin/)() | يحصل على مكرّر عكسي إلى العنصر الأخير في المجموعة (الأول في الاتجاه العكسي). |
| [rbegin](./rbegin/)() const | يحصل على مكرّر عكسي إلى العنصر الأخير في المجموعة المؤهلة بالثابت (الأول في الاتجاه العكسي). |
| [Remove](./remove/)(const T\&) override | يزيل الظهور الأول للـ **element** المحدد من القائمة. |
| [Remove](./remove/)(const SharedPtr\<LinkedListNode\<T\>\>\&) | يزيل العقدة من القائمة. |
| [RemoveFirst](./removefirst/)() | يزيل العقدة الأولى من القائمة. |
| [RemoveLast](./removelast/)() | يزيل العقدة الأخيرة من القائمة. |
| [rend](./rend/)() | يحصل على مكرّر عكسي لعنصر غير موجود قبل بداية المجموعة. |
| [rend](./rend/)() const | يحصل على مكرّر عكسي لعنصر غير موجود قبل بداية المجموعة المؤهلة بالثابت. |
| [virtualizeBeginConstIterator](./virtualizebeginconstiterator/)() const override | يسترجع تنفيذ begin const iterator للحاوية الحالية. |
| [virtualizeBeginIterator](./virtualizebeginiterator/)() override | يسترجع تنفيذ begin iterator للحاوية الحالية. |
| [virtualizeEndConstIterator](./virtualizeendconstiterator/)() const override | يسترجع تنفيذ end const iterator للحاوية الحالية. |
| [virtualizeEndIterator](./virtualizeenditerator/)() override | يسترجع تنفيذ end iterator للحاوية الحالية. |
## Typedefs

| تعريف نوع | الوصف |
| --- | --- |
| [const_iterator](./const_iterator/) | نوع المكرّر الثابت. |
| [const_reverse_iterator](./const_reverse_iterator/) | نوع المكرّر العكسي الثابت. |
| [iterator](./iterator/) | نوع المكرّر. |
| [list_t](./list_t/) | نوع البيانات الأساسي. |
| [reverse_iterator](./reverse_iterator/) | نوع المكرّر العكسي. |
## ملاحظات


حاوية قائمة مرتبطة. تنفّذ غلافًا فوق std::list. يجب تخصيص كائنات هذه الفئة فقط باستخدام دالة [System::MakeObject()](../../system/makeobject/). لا تقم بإنشاء مثال من هذا النوع على المكدس أو باستخدام عامل new، لأن ذلك سيسبّب أخطاء تشغيلية و/أو أعطال تأكيد. دائمًا غلف هذه الفئة في مؤشر [System::SmartPtr](../../system/smartptr/) واستخدم هذا المؤشر لتمريره إلى الدوال كمعامل.


```cpp
#include <system/collections/linkedlist.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

int main()
{
  // أنشئ مثالًا من فئة LinkedList.
  auto list = MakeObject<LinkedList<int>>();

  // املأ القائمة المرتبطة.
  list->AddFirst(1);
  list->AddLast(30);
  list->AddAfter(list->get_First(), 15);
  list->AddBefore(list->get_Last(), 25);

  // اطبع عناصر القائمة المرتبطة.
  for (const auto item: list)
  {
    std::cout << item << ' ';
  }

  return 0;
}
/*
This code example produces the following output:
1 15 25 30
*/
```

## انظر أيضًا

* Class [Object](../../system/object/)
* Class [ICollection](../icollection/)
* Class [Invalidatable](../../system.collections/invalidatable/)
* Namespace [System::Collections::Generic](../)
* Library [Aspose.Page for C++](../../)
