System::Collections::Generic::LinkedList класс

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Получает итератор к первому const-qualified элементу коллекции.
cend() constПолучает итератор для несуществующего const-qualified элемента за концом коллекции.
Clear() overrideУдаляет все элементы в списке.
Contains(const T&) const overrideПроверяет, присутствует ли element в списке.
CopyTo(ArrayPtr<T>, int) overrideКопирует данные контейнера в существующие элементы массива.
crbegin() constПолучает обратный итератор к последнему элементу коллекции с const‑квалификатором (первый в обратном порядке).
crend() constПолучает обратный итератор для несуществующего элемента с const‑квалификатором перед началом коллекции.
end()Получает итератор для несуществующего элемента за концом коллекции.
end() constПолучает итератор для несуществующего элемента за концом const-qualified коллекции.
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Получает обратный итератор к последнему элементу константной коллекции (первому в обратном порядке).
Remove(const T&) overrideУдаляет первое вхождение указанного element из списка.
Remove(const SharedPtr<LinkedListNode<T>>&)Удаляет узел из списка.
RemoveFirst()Удаляет первый узел из списка.
RemoveLast()Удаляет последний узел из списка.
rend()Получает обратный итератор для несуществующего элемента перед началом коллекции.
rend() 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
*/

См. также