Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++(4.5)의 목록


목록은 데이터를 순차적으로 저장하고 요소에 비연속적인 메모리를 할당하는 컨테이너 유형입니다. C++에서 목록은 요소의 삽입과 삭제가 양쪽 끝에서 수행될 수 있는 이중 연결 목록으로 간주되므로 양쪽 끝에서 목록을 순회하는 것도 가능합니다. 단일 연결 목록을 사용하기 위해 우리는 C++ STL에서 사용 가능한 순방향 목록을 사용합니다.

벡터보다 목록을 사용하는 장점은 다음과 같습니다.

반복자가 올바른 요소에 위치하면 목록 컨테이너에서 사용할 수 있는 요소의 삽입 및 삭제가 목록이 더 빠릅니다.

List 사용의 단점은

목록에서 위치를 통해 직접 컨테이너에서 사용 가능한 요소를 가져오는 것은 어렵습니다. 예를 들어, 네 번째 요소를 가져오려면 네 번째 요소로 직접 점프하기가 어려울 것입니다. 대신 반복자가 시작 또는 끝 위치에서 도달해야 합니다.

목록과 관련된 기능은 다음과 같습니다.

  • Push_front(요소) - 이 함수는 목록의 시작 부분에 요소를 삽입하는 데 사용됩니다.

    구문 -listName.push_front(데이터 유형 요소)

    매개변수 - 삽입할 값으로 하나의 매개변수를 받습니다.

    반환 가치 - 반환 값이 없습니다.

  • 푸시_백(요소) - 이 함수는 목록의 끝에 요소를 삽입하는 데 사용됩니다.

    구문 - listName.push_back(데이터 유형 요소)

    매개변수 - 삽입할 값으로 하나의 매개변수를 받습니다.

    반환 가치 - 반환 값이 없습니다.

  • 삽입() - 이 함수는 목록 컨테이너에서 주어진 위치에 요소를 삽입하는 데 사용됩니다.

    구문 -:listName.insert(위치, 합계, 요소)

    매개변수 - 세 개의 매개변수가 필요합니다. -

    • 요소를 삽입해야 하는 위치

    • 전체, 삽입할 요소의 총 수를 지정합니다.

    • 요소는 삽입할 요소를 지정합니다.

  • 반환 가치 - 새로 삽입된 요소의 시작을 가리키는 반복자를 반환합니다.

  • Pop_front() - 이 함수는 목록의 처음부터 요소를 제거하는 데 사용됩니다.

    구문 - listName.pop_front()

    매개변수 - 매개변수 없음

    반환 가치 - 반환 값 없음

  • 앞() - 이 함수는 목록의 첫 번째 요소를 가져오는 데 사용됩니다.

    구문 - listName.front()

    매개변수 - 매개변수 없음

    반환 가치 - 이 함수는 첫 번째 요소에 대한 직접 참조를 반환합니다.

  • 팝백() - 이 함수는 목록의 끝에서 요소를 제거하는 데 사용됩니다.

    구문 - listName.pop_back()

    매개변수 - 매개변수 없음

    반환 가치 - 반환 값 없음

  • 뒤로() - 이 함수는 목록의 마지막 요소를 가져오는 데 사용됩니다.

    구문 - listName.back()

    매개변수 - 매개변수 없음

    반환 가치 - 이 함수는 마지막 요소에 대한 직접 참조를 반환합니다.

  • 크기() - 이 함수는 목록에 있는 요소의 총 개수를 가져오는 데 사용됩니다.

    구문 - listName.size()

    매개변수 - 매개변수 없음

    반환 가치 - 이 함수는 목록에 있는 요소의 총 개수를 반환합니다.

  • 크기 조정() - 이 기능은 목록에 있는 요소의 총 개수를 조정하는 데 사용됩니다.

    구문 - listName.resize(int resized_number, 값(선택 사항))

    매개변수 - 두 개의 매개변수가 필요합니다.

    • 크기 조정된_숫자 - 컨테이너의 크기를 늘리거나 줄일 수 있는 정확한 숫자

    • 값(선택사항) - 요소의 끝에 지정된 값을 추가하는 선택적 매개변수입니다.

  • 반환 가치 -:반환 값이 없습니다.

  • 최대 크기() - 이 함수는 목록이 가질 수 있는 최대 요소 수를 가져오는 데 사용됩니다.

    구문 - listName.max_size()

    매개변수 - 매개변수 없음

    반환 가치 - 이 함수는 목록이 가질 수 있는 최대 요소 수를 반환합니다.

  • 지우기() - 이 기능은 목록에서 모든 요소를 ​​삭제하고 크기를 0으로 재설정하는 데 사용됩니다.

    구문 - listName.max_size()

    매개변수 - 매개변수 없음

    반환 가치 - 반환 값이 없습니다.

  • 제거(요소) - 이 함수는 매개변수에 전달된 요소와 일치하는 모든 요소를 ​​삭제하는 데 사용됩니다.

    구문 - listName.remove(요소)

    매개변수 - 목록 컨테이너에서 삭제할 요소를 지정하는 단일 매개변수를 사용합니다.

    반환 가치 - 반환 값이 없습니다.

  • Remove_if(함수 포인터/함수 개체) - 이 함수는 매개변수에 전달된 조건에 따라 매개변수에 전달된 요소와 일치하는 모든 요소를 ​​삭제하는 데 사용됩니다.

    구문 - listName.remove_if(함수 포인터/함수 객체)

    매개변수 - 단일 매개변수를 함수 포인터 또는 함수 객체로 사용합니다.

    반환 가치 - 모든 요소가 삭제되면 true를 반환합니다.

  • 지우기() - 이 함수는 전달된 매개변수에 따라 단일 요소와 여러 요소를 지우는 데 사용됩니다.

    구문 -:반복자 listName.erase(반복자 위치) 반복자 listName.erase(반복자 First_ele, 반복자 Last_ele)

    매개변수 - First 구문에서는 요소가 목록 컨테이너에서 삭제될 위치를 지정하는 매개변수 position을 취합니다. 두 번째 구문에서는 요소가 삭제될 범위를 지정하는 첫 번째 요소와 마지막 요소를 매개변수로 사용합니다.

    반환 가치 - 마지막으로 삭제된 요소를 가리키는 반복자를 반환합니다.

  • 비어 있음() - 리스트가 비어있는지 확인하는 기능입니다.

    구문 - listName.empty()

    매개변수 - 매개변수 없음

    반환 가치 -

    • 반환 true - 목록이 비어 있을 때

    • 목록이 비어 있지 않은 경우 false를 반환합니다.

  • 시작() - 이 함수는 목록의 첫 번째 요소를 가리키는 반복자를 반환합니다.

    구문 - listName.begin()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 첫 번째 요소를 가리키는 반복자를 반환합니다.

  • 종료() - 이 함수는 목록의 마지막 요소를 가리키는 반복자를 반환합니다.

    구문 - listName.end()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 끝 요소를 가리키는 반복자를 반환합니다.
    rbegin() - 이 함수는 목록의 마지막 요소를 가리키는 역방향 반복기를 반환합니다.
    구문 - listName.rbegin()
    매개변수 - 매개변수 없음
    반환 가치 - 목록의 끝 요소를 가리키는 역방향 반복자를 반환합니다.

  • 렌드() - 이 함수는 목록의 첫 번째 요소를 가리키는 역방향 반복자를 반환합니다.

    구문 - listName.rend()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 첫 번째 요소를 가리키는 역방향 반복자를 반환합니다.

  • Cbegin() - 이 함수는 목록의 시작 부분을 가리키는 상수 임의 액세스 반복자를 반환하는 데 사용됩니다.

    구문 - listName.cbegin()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 시작 부분을 가리키는 상수 임의 액세스 반복자를 반환합니다.

  • 센드() - − 이 함수는 목록의 끝을 가리키는 상수 임의 액세스 반복기를 반환하는 데 사용됩니다.

    구문 - listName.cend()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 끝을 가리키는 상수 임의 액세스 반복자를 반환합니다.

  • Crbegin() - 이 함수는 목록의 끝을 가리키는 상수 임의 액세스 역방향 반복기를 반환하는 데 사용됩니다.

    구문 - listName.crbegin()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 끝을 가리키는 상수 임의 액세스 역방향 반복기를 반환합니다.

  • 크렌드() - 이 함수는 목록의 시작 부분을 가리키는 상수 임의 액세스 역방향 반복기를 반환하는 데 사용됩니다.

    구문 - listName.crend()

    매개변수 - 매개변수 없음

    반환 가치 - 목록의 시작 부분을 가리키는 상수 임의 액세스 역방향 반복기를 반환합니다.

  • 역() - 이 함수는 목록 컨테이너의 모든 요소를 ​​반대로 사용합니다.

    구문 - listName.reverse()

    매개변수 - 매개변수 없음

    반환 가치 - 반환값 없음

  • 고유() - 이 기능은 목록에서 중복되는 모든 연속 요소를 제거하는 데 사용됩니다.

    구문 - listName.unique(두 값이 동일하다고 간주하는 술어)

    매개변수 - 두 요소를 동일하게 간주해야 하는 경우 true를 반환하는 선택적 매개변수를 사용합니다.

    반환 가치 - 반환값 없음

  • emplace() - 주어진 위치에 새로운 요소를 삽입할 때 사용하는 함수입니다.

    구문 - listName.emplace(위치, 값)

    매개변수 - 두 개의 매개변수를 취하는데, 하나는 요소가 삽입되어야 하는 위치를 지정하고 다른 하나는 삽입되어야 하는 요소 값을 알려줍니다.

    반환 가치 - 새로 삽입된 요소를 가리키는 반복자를 반환합니다.

  • Emplace_front() - 이 함수는 목록의 시작 부분에 새 요소를 삽입하는 데 사용됩니다.

    구문 - listName.emplace_front(요소)

    매개변수 - 삽입할 값을 지정하는 하나의 매개변수가 필요합니다.

    반환 가치 - 반환 값이 없습니다.

  • Emplace_back() - 이 함수는 목록의 끝에 새로운 요소를 삽입하는 데 사용됩니다.

    구문 - listName.emplace_back(요소)

    매개변수 - 삽입할 값을 지정하는 하나의 매개변수가 필요합니다.

    반환 가치 - 반환 값이 없습니다.

  • 연산자(=) - 이 연산자는 한 목록의 내용을 다른 목록으로 바꾸는 데 사용됩니다.

    구문 - listName_1 =listName_2

    매개변수 - 매개변수 없음

    반환 가치 - 반환 값이 없습니다.

  • 스왑() - 이 기능은 한 목록의 내용을 같은 유형의 다른 목록으로 바꾸는 데 사용됩니다.

    구문 - listName_1.swap(listName_2)

    매개변수 - 매개변수 없음

    반환 가치 - 반환 값이 없습니다.

  • 병합() - 이 함수는 요소를 두 개의 목록으로 병합하는 데 사용됩니다.

    구문 - listName_1.merge(listName_2)

    매개변수 - 매개변수 없음

    반환 가치 - 반환 값이 없습니다.