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&)리스트의 node 뒤에 element를 추가합니다.
AddAfter(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)리스트의 node 뒤에 newNode를 추가합니다.
AddBefore(const SharedPtr<LinkedListNode<T>>&, const T&)리스트의 node 앞에 element를 추가합니다.
AddBefore(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)리스트의 node 앞에 newNode를 추가합니다.
AddFirst(const T&)리스트 시작에 element를 추가합니다.
AddFirst(const SharedPtr<LinkedListNode<T>>&)리스트 시작에 newNode를 추가합니다.
AddLast(const T&)리스트 끝에 element를 추가합니다.
AddLast(const SharedPtr<LinkedListNode<T>>&)리스트 끝에 newNode를 추가합니다.
begin()컬렉션의 첫 번째 요소에 대한 반복자를 가져옵니다.
begin() constconst 한정 컬렉션의 첫 번째 요소에 대한 반복자를 가져옵니다.
cbegin() const컬렉션의 첫 번째 const 한정 요소에 대한 반복자를 가져옵니다.
cend() const컬렉션 끝 뒤에 존재하지 않는 const 한정 요소에 대한 반복자를 가져옵니다.
Clear() override리스트의 모든 요소를 삭제합니다.
Contains(const T&) const overrideelement가 리스트에 존재하는지 확인합니다.
CopyTo(ArrayPtr<T>, int) override컨테이너 데이터를 기존 배열 요소에 복사합니다.
crbegin() const컬렉션의 마지막 const 한정 요소에 대한 역방향 반복자를 가져옵니다 (역순에서 첫 번째).
crend() const컬렉션 시작 전에 존재하지 않는 const 한정 요소에 대한 역방향 반복자를 가져옵니다.
end()컬렉션 끝 뒤에 존재하지 않는 요소에 대한 반복자를 가져옵니다.
end() constconst 한정 컬렉션 끝 뒤에 존재하지 않는 요소에 대한 반복자를 가져옵니다.
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() constconst 한정 컬렉션의 마지막 요소에 대한 역방향 반복자를 가져옵니다 (역방향에서 첫 번째).
Remove(const T&) override리스트에서 지정된 element의 첫 번째 발생을 제거합니다.
Remove(const SharedPtr<LinkedListNode<T>>&)리스트에서 노드를 제거합니다.
RemoveFirst()리스트에서 첫 번째 노드를 제거합니다.
RemoveLast()리스트에서 마지막 노드를 제거합니다.
rend()컬렉션 시작 앞에 존재하지 않는 요소에 대한 역방향 반복자를 가져옵니다.
rend() constconst 한정 컬렉션 시작 앞에 존재하지 않는 요소에 대한 역방향 반복자를 가져옵니다.
virtualizeBeginConstIterator() const override현재 컨테이너에 대한 begin const iterator 구현을 가져옵니다.
virtualizeBeginIterator() override현재 컨테이너에 대한 begin iterator 구현을 가져옵니다.
virtualizeEndConstIterator() const override현재 컨테이너에 대한 end const iterator 구현을 가져옵니다.
virtualizeEndIterator() override현재 컨테이너에 대한 end iterator 구현을 가져옵니다.

Typedefs

타입 정의설명
const_iterator상수 반복자 타입.
const_reverse_iterator상수 역방향 반복자 타입.
iterator반복자 타입.
list_t기본 데이터 유형.
reverse_iterator역방향 반복자 타입.

비고

Linked list 컨테이너. std::list 위에 래퍼를 구현합니다. 이 클래스의 객체는 System::MakeObject() 함수를 사용하여 할당해야 합니다. 스택에 직접 생성하거나 operator 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
*/

또 보기