배열 중복제거 using unique(), erase()

말차·2022년 8월 9일

🌼지식🌼

목록 보기
5/10

📌unique를 사용하기 이전에 먼저 정렬이 되어 있어야 한다. 그래야 아래와 같이 중복되는 수들을 파악할 수 있기 때문이다.

unique

int arr[10] = {1, 1, 2, 3, 4, 5, 6, 7, 8, 8}

이 있을때

unique(arr, arr + 10);

unique함수를 사용하면 arr배열은 아래와 같이 된다.

{1, 2, 3, 4, 5, 6, 7, 8, 1, 8}

그리고 unique의 함수의 리턴값은 8번째 인덱스에 있는 1의 주소이다.

erase()

erase(unique(arr, arr + 10), arr + 10)

unique가 리턴한 주소를 기준으로 배열의 끝까지 값을 없앤다고 하면

{1, 2, 3, 4, 5, 6, 7, 8}

배열은 위와 같이 중복없이 오름차순으로 남을 것이다.

0개의 댓글