간단 한 소개 algorithm 헤더 파일 은 C++의 표준 알고리즘 라 이브 러 리 로 용기 에 주로 사 용 됩 니 다.모든 알고리즘 은 교체 기 를 통 해 작 동 되 기 때문에 알고리즘 의 연산 은 실제 적 으로 구체 적 인 데이터 구조 와 분 리 된 것 이다.즉,낮은 결합 성 을 가 진 것 이다.따라서 모든 데이터 구 조 는 해당 하 는 교체 기 유형 만 있 으 면 이 계산 법 고 를 사용 할 수 있다. 알고리즘 분류
위의 그림 에서 보 듯 이 라 이브 러 리 의 알고리즘 은 주로 4 가지 로 나 뉜 다.
비 수정 적 순서 조작(Non-modifying sequence operations)
가 변 순서 조작(Mutating sequence operations)
정렬 및 관계 조작(Sorting and related operations)
C 라 이브 러 리 알고리즘(C library algorithms)
이 계산 법 고 를 사용 한 사람 은 모두 알 고 있 습 니 다.안의 많은 알고리즘 은 모두 쌍 을 이 루어 나타 나 고 한 개념의 알고리즘 은 항상 여러 가지 버 전이 있 습 니 다.
in-place version:일반 버 전 으로 교체 기 를 직접 조작 합 니 다.
copying version:복사 버 전 은 출력 교체 기 를 복사 하 는 destination 으로 전송 해 야 합 니 다.이 버 전 은 일반적으로 copy 문 자 를 가지 고 있다.
predicate version:서술 어 버 전 은 서술 어 를 판단 의 기준 으로 전달 해 야 합 니 다.이 버 전 은 일반적으로 if 문 자 를 가지 고 있다.
Non-modifying sequence operations
all_of:범위 내의 모든 요소 가 조건 을 만족 시 키 는 지 판단 합 니 다.
any_of:범위 내의 모든 요소 중 만족 조건 이 있 는 지 판단 합 니 다.
none_of:범위 내의 모든 요소 중 만족 조건 이 없 는 지 판단 합 니 다.
for_each:지정 한 범위 내의 모든 요소 에 대해 지정 한 작업 을 합 니 다.
find、find_if、find_if_not:지정 한 범위 에서 특정한 조건(값 이 같 고 조건 이 만족 하지 않 으 며 조건 이 만족 하지 않 음)을 만족 시 키 는 요 소 를 찾 습 니 다.
find_end:지정 한 시퀀스 에서 마지막 같은(또는 서술 어 조건 만족)하위 시퀀스 를 찾 습 니 다.
find_first_of:지정 한 시퀀스 에서 다른 시퀀스 에 나타 나 는 첫 번 째 요 소 를 찾 습 니 다.
adjacent_find:지정 한 시퀀스 에서 첫 번 째 같은(값 이 같 고 조건 을 만족 시 키 는)요소 쌍(2 개 요소)을 찾 습 니 다.
count、count_if:시퀀스 의 만족 조건(값 이 같 고 조건 을 만족 시 키 는)요 소 를 계산 합 니 다.
mismatch:두 요소 의 서열 을 정 하고 첫 번 째 일치 하지 않 는 요소 의 위 치 를 되 돌려 주 며 하나의 교체 기로 지적 합 니 다.
equal:두 서열 이 같 는 지 판단 합 니 다(값 이 같 고 서술 어 조건 을 만족 시 킵 니 다).
is_permutation:하나의 서열 이 다른 서열 의 배열 인지 판단 합 니 다.즉,배열 방식 만 같 지 않 습 니 다(값 이 같 지 않 고 서술 어 조건 을 만족 시 키 지 않 습 니 다).
search、search_n:주어진 시퀀스 에서 하위 시퀀스 나 n 개의 중 복 된 요소 시퀀스 를 찾 습 니 다.
Mutating sequence operations
copy、copy_n、copy_if、copy_backward:복사 시퀀스,복사 시퀀스 에서 앞의 n 개 요소,복사 시퀀스 에서 조건 을 만족 시 키 는,뒤에서 앞으로 복사 시퀀스.
move、move_backward:이동 시퀀스,뒤에서 앞으로 이동 시퀀스(이동 후 원본 시퀀스 를 조작 할 수 있 지만 요소 값 은 지정 되 지 않 았 습 니 다).
swap、iter_swap:원소 교환 시퀀스,교환 두 시퀀스.
transform:하나의 서열 을 변환 하고 출력 하 며 두 서열 을 변환 하고 출력 합 니 다(변환 은 사용자 정의 서술 어 를 통 해 이 루어 집 니 다).
replace、replace_if、replace_copy、replace_copy_if:조건(값 이 같 고 서술 어 조건 을 만족 시 키 는)요 소 를 주어진 요소 로 바 꾸 고 조건 을 만족 시 키 는 요 소 를 바 꾸 어 다른 곳 으로 복사 합 니 다.
fill、fill_n:주어진 시퀀스 요 소 를 주어진 값 으로 채 우 고 주어진 n 개의 요 소 를 주어진 값 으로 채 웁 니 다.
generate、generate_n:사용자 정의 생 성기 로 요 소 를 생 성하 고 이 요 소 를 주어진 시퀀스 나 n 개의 시퀀스 에 할당 합 니 다.
remove、remove_if:동일 하거나 서술 어 조건 을 만족 시 키 는 요 소 를 제거 합 니 다.요소 가 제거 되면 이 요소 들 을 가리 키 는 교체 기 를 사용 할 수 있 지만 결 과 는 지정 되 지 않 았 습 니 다(unspecified).
unique、unique_copy:서열 을 유일 하 게 합 니 다(즉,중복 요소 가 있 으 면 첫 번 째 를 보류 하고 나머지 는 모두 제거 합 니 다).서열 이 유일 하고 목적지 로 복사 합 니 다.
reverse、reverse_copy:주어진 시퀀스 를 역전 시 키 고 주어진 시퀀스 를 목적지 로 복사 합 니 다.
rotate、rotate_copy:주어진 시퀀스 의 왼쪽 회전(middle-first)요 소 를 지정 하고 주어진 시퀀스 의 왼쪽 회전(middle-first)요 소 를 복사 합 니 다.
shuffle:균일 한 난수 생 성 기 를 사용 하여 주어진 서열 을 섞 습 니 다(즉,흐 트 러 지고 다시 분포 합 니 다).
아래 의 몇 가지 함수 가 분 구 와 관련 된 같은 측면 이지 만 기능 은 위 에 열거 한 것 처럼 그렇게 비슷 하고 싶 지 않 기 때문에 따로 서술 한다.
is_partition:주어진 1 원 술어 로 주어진 시퀀스 가 올 바른 파 티 션 에 있 는 지 판단 합 니 다.
partition:주어진 시퀀스 에 대해 파 티 션 작업 을 합 니 다.
stable_partition:partition 작업 과 비슷 하지만 두 group(즉,파 티 션 된 두 파 티 션)내 요소 의 관련 순 서 는 변 하지 않 습 니 다(stable).
partition_copy:partition 과 비슷 하지만 두 개의 파 티 션 group 결 과 는 두 개의 지정 한 위치 로 복사 되 었 습 니 다.
partition_point:분 구 점 을 되 돌려 줍 니 다.이 점 이전,이 점 이후(이 점 포함)는 각각 두 개의 분 구 입 니 다.
Sorting and related operations 이 함수 들 은 모두 두 가지 버 전이 있 습 니 다.operator<를 사용 하고 함수 자 를 사용 하여 비교 합 니 다.
sort:정렬.
stable_sort:정렬 이 안정 적 입 니 다.
partial_sort:부분 정렬,주어진 시퀀스 에 대해 서 는 앞 middle-first 요소 만 정렬 하고[first,middle)범위 에 놓 으 며 나머지 위치의 요소 순 서 를 지정 합 니 다.
partial_sort_copy : paartial_sort 함수 의 copy 버 전.
is_sorted、is_sorted_util:주어진 시퀀스 가 정렬 되 었 는 지 판단 합 니 다(operator<또는 사용자 정의 함수 서브 판단 사용).
nth_element:nth 교체 기 가 지정 한 위 치 를 결과 요소 로 정렬 합 니 다.(실제로는 빠 른 줄 로 이 루어 져 야 한다)
lower_bound、upper_bound、equal_range:하계,상계,상등 성 범 위 를 되 돌려 줍 니 다.
binary_search:주어진 시퀀스 에서 요 소 를 2 분 동안 찾 습 니 다.
merge、inplace_merge:두 시퀀스 를 합 쳐 출력 합 니 다.
includes:하나의 서열 이 무 거 운 지 판단 하 는 모든 요소 가 다른 서열 에 포함 되 어 있 습 니 다.
set_유 니 온:집합.
set_intersection:교차.
set_difference:차 집.
set_symmetric_difference:대칭 차 집합.
push_힙:하나의 요 소 를 시퀀스 로 표 시 된 힙 에 push 를 넣 고 쌓 인 성질 을 유지 합 니 다.
pop_heap:하나의 요 소 를 heap 에서 pop(실제로 꼬리 로 교환)합 니 다.
make_힙:주어진 시퀀스 를 힙 으로 만 듭 니 다.
sort_힙:주어진 더 미 를 정렬 합 니 다.(특수 한 알고리즘 이 더 미 를 최적화 할 수 있 습 니 다.)
is_heap、is_heap_util:주어진 서열 이 쌓 여 있 는 지 판단 하고 주어진 서열 이 어느 위치 까지 쌓 여 있 는 지 판단 합 니 다.
min,max:최소 치,최대 치 를 되 돌려 줍 니 다.
minmax:pair
으로 돌아 가기
min_element、max_element:시퀀스 의 첫 번 째 최소 값,최대 값 을 되 돌려 줍 니 다.
minmax_element:pair
을 되 돌려 줍 니 다.
lexicographical_compare:두 시퀀스 에 대해 사전 순 서 를 정렬 합 니 다.
next_permutation、prev_permutation:주어진 시퀀스 에 다음 이나 이전 조합 이 존재 하 는 지 판단 합 니 다.(모든 가능 한 배열 조합 은 사전 순서 로 정렬 한 다음 에 판단 합 니 다)
C library algorithms 이 헤더 파일 에는 표준 C 헤더 파일 stdlib.h 도 포 함 돼 있어 대체로 같다.다만 C 와 호 환 할 목적 으로 bsearch 과 qsort 은 C 와 C++의 두 함수 서명 을 동시에 포함 했다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: