System::Collections::Generic::LinkedList class

LinkedList class

LinkedList forward declaration.

template<typename T>class LinkedList : public virtual System::Object,
                                       public System::Collections::Generic::ICollection<T>,
                                       private System::Collections::Invalidatable
ПараметрОписание
TТип содержащегося значения.

Nested classes

Методы

МетодОписание
Add(const T&) overrideДобавляет element в конец списка.
AddAfter(const SharedPtr<LinkedListNode<T>>&, const T&)Добавляет element после node в списке.
AddAfter(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)Добавляет newNode после node в списке.
AddBefore(const SharedPtr<LinkedListNode<T>>&, const T&)Добавляет element перед node в списке.
AddBefore(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)Добавляет newNode перед node в списке.
AddFirst(const T&)Добавляет element в начало списка.
AddFirst(const SharedPtr<LinkedListNode<T>>&)Добавляет newNode в начало списка.
AddLast(const T&)Добавляет element в конец списка.
AddLast(const SharedPtr<LinkedListNode<T>>&)Добавляет newNode в конец списка.
begin()Возвращает итератор на первый элемент коллекции.
begin() constПолучает итератор к первому элементу константно‑квалифицированной коллекции.
cbegin() constПолучает итератор к первому константно‑квалифицированному элементу коллекции.
cend() constПолучает итератор для несуществующего константно‑квалифицированного элемента за концом коллекции.
Clear() overrideУдаляет все элементы в списке.
Contains(const T&) const overrideПроверяет, присутствует ли element в списке.
CopyTo(ArrayPtr<T>, int) overrideКопирует данные контейнера в существующие элементы массива.
crbegin() constПолучает обратный итератор к последнему элементу коллекции, квалифицированному как const (первый в обратном порядке).
crend() constПолучает обратный итератор для несуществующего const‑квалифицированного элемента перед началом коллекции.
end()Получает итератор для несуществующего элемента за концом коллекции.
end() constПолучает итератор для несуществующего элемента за концом константно‑квалифицированной коллекции.
Find(const T&) constВыполняет поиск element в списке в прямом направлении.
FindLast(const T&) constВыполняет поиск element в списке в обратном направлении.
get_Count() const overrideПолучает количество элементов в списке.
get_First() constПолучает указатель на первый элемент в списке.
get_Last() constПолучает указатель на последний элемент в списке.
GetEnumerator() overrideПолучает перечислитель для обхода текущего LinkedList.
LinkedList()Создаёт пустой LinkedList.
LinkedList(const SharedPtr<IEnumerable<T>>&)Конструктор копирования.
rbegin()Получает обратный итератор к последнему элементу коллекции (первый в обратном порядке).
rbegin() constПолучает обратный итератор к последнему элементу const‑квалифицированной коллекции (первый в обратном порядке).
Remove(const T&) overrideУдаляет первое вхождение указанного element из списка.
Remove(const SharedPtr<LinkedListNode<T>>&)Удаляет узел из списка.
RemoveFirst()Удаляет первый узел из списка.
RemoveLast()Удаляет последний узел из списка.
rend()Получает обратный итератор для несуществующего элемента перед началом коллекции.
rend() constПолучает обратный итератор для несуществующего элемента перед началом const‑квалифицированной коллекции.
virtualizeBeginConstIterator() const overrideПолучает реализацию константного итератора begin для текущего контейнера.
virtualizeBeginIterator() overrideПолучает реализацию итератора begin для текущего контейнера.
virtualizeEndConstIterator() const overrideПолучает реализацию константного итератора end для текущего контейнера.
virtualizeEndIterator() overrideПолучает реализацию итератора end для текущего контейнера.

Typedefs

Типовое определениеОписание
const_iteratorТип константного итератора.
const_reverse_iteratorТип константного обратного итератора.
iteratorТип итератора.
list_tБазовый тип данных.
reverse_iteratorТип обратного итератора.

Примечания

Контейнер связного списка. Реализует оболочку над std::list. Объекты этого класса должны выделяться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам времени выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

#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
*/

См. также