>백엔드 개발 >C++ >배열을 집합(해시 집합)으로 변환하는 C++ 프로그램

배열을 집합(해시 집합)으로 변환하는 C++ 프로그램

PHPz
PHPz앞으로
2023-09-16 09:01:02760검색

배열을 집합(해시 집합)으로 변환하는 C++ 프로그램

Array는 동일한 유형의 요소를 순차적으로 수집하는 C++에서 사용할 수 있는 데이터 구조입니다. 배열의 크기는 고정되어 있지만 필요에 따라 확장하거나 축소할 수 있습니다. 배열이 데이터 모음을 저장하는 데 사용되더라도 동일한 유형의 변수 모음으로 생각하는 것이 중요합니다. 세트(또는 이 경우 순서가 지정되지 않은 세트)는 특정 데이터 유형의 요소를 임의의 순서로 저장하는 컨테이너입니다. 해시 테이블은 unordered_set을 구현하는 데 사용됩니다. 여기서 키는 해시 테이블 인덱스로 해시되어 삽입이 항상 무작위인지 확인하는 데 도움이 됩니다.

배열에서 순서가 없는 집합으로의 변환은 우리가 더 자세히 논의할 다양한 방법을 사용하여 수행할 수 있습니다.

배열 요소를 컬렉션에 하나씩 삽입하세요

배열을 순서 없는 집합으로 변환하는 가장 쉬운 방법은 for 루프를 사용하고 각 배열 요소를 순서 없는 집합에 개별적으로 삽입하는 것입니다. 다음으로 구문과 알고리즘을 살펴보겠습니다.

문법

으아악

알고리즘

  • 정수 배열 IP로 입력을 받습니다.
  • unordered_set 작업을 정의하세요.
  • 배열 ip의 각 요소 i에 대해 다음을 실행합니다.
    • op.에 IP를 삽입하세요.
  • op의 내용을 표시합니다.

으아악

출력

으아악

정수 배열 IP를 선언하고 배열의 모든 요소를 ​​반복합니다. 출력 세트를 op로 선언하고 컨테이너에서 사용할 수 있는 삽입 기능을 사용하여 순서가 지정되지 않은 세트에 각 요소를 삽입합니다. 우리가 볼 수 있는 결과는 배열에도 존재하는 정렬되지 않은 값 집합입니다.

범위 생성자를 사용하여 컬렉션을 구성하세요

범위 생성자를 사용하여 unordered_set을 만들 수도 있습니다. 범위 생성자는 입력 배열의 시작 포인터와 입력 배열의 크기에 시작 포인터를 더한 두 가지 입력을 사용합니다.

문법

으아악

알고리즘

  • 정수 배열 IP로 입력을 받습니다.
  • sizeof 연산자를 사용하여 입력 배열의 크기를 결정합니다.
  • 정수 변수 n에 배열의 크기를 할당합니다.
  • 배열 시작 포인터와 배열 크기를 사용하여 unordered_set 작업을 구성합니다.
  • op의 내용을 표시합니다.

으아악

출력

으아악

이 예에서는 sizeof 함수를 사용하여 배열의 크기를 결정해야 합니다. 우리를 변수 n에 크기를 할당하고 포인터 ip 및 ip + n을 사용하여 unordered_set을 만듭니다. 작동하다.

결론

unordered_set에는 모든 유형의 데이터가 포함될 수 있습니다. 보유하고 있는 데이터 유형을 변경하려면 에 포함된 데이터 유형을 변경해야 합니다. 컨테이너는 기본 유형과 사용자 정의 유형을 잘 지원합니다. 실제로 unordered_set은 매우 잘 작동하며 일반적으로 일정한 시간 검색 작업을 제공합니다. unordered_set에 대한 모든 작업은 일반적으로 일정한 시간 O(1)이 걸리지만, 최악의 경우 내부 해시 함수에 따라 최대 선형 시간 O(n)이 걸릴 수 있습니다.

위 내용은 배열을 집합(해시 집합)으로 변환하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제