정렬 - 완전한 C++ 삽입 정렬 방법 알고리즘 프로그램 예제
예제 프로그램 삽입 정렬 알고리즘 C++ - 삽입 정렬은 처음 두 데이터 요소를 비교하고 정렬한 다음 다음 데이터 요소를 하나씩 확인하고 정렬된 데이터 요소와 비교하는 정렬 알고리즘입니다.
삽입 C++ 알고리즘은 정렬할 데이터 요소를 비교하여 작동하므로 이 알고리즘도 비교 기반 정렬에 포함됩니다.
C++ 삽입 정렬 알고리즘의 기본 아이디어는 순차 검색을 통해 각 배열 요소의 '올바른' 위치를 찾는 것입니다. 그런 다음 처리된 배열 요소를 적절한 위치에 삽입합니다. 이 과정은 N-1 단계(정렬에서 '합격'이라고 함)만큼 수행되며 인덱스는 0부터 시작합니다.
Insertion Sort C++ 알고리즘을 사용하는 정렬 프로세스는 i 번째 데이터(여기서 i는 두 번째 데이터부터 마지막 데이터까지 시작)와 다음 데이터를 비교하여 수행됩니다. 더 작은 데이터가 발견되면 있어야 할 위치에 따라 앞으로 삽입됩니다.
C++ 삽입 알고리즘
삽입 정렬(삽입 방식)은 전체 배열이 성공적으로 정렬될 때까지 배열의 왼쪽을 정렬하는 것을 목표로 합니다. 또한 이 메서드는 읽은 숫자를 정렬하고 다음으로 정렬된 배열의 왼쪽에 읽지 않은 숫자를 배열에 반복해서 삽입합니다.
4 | 삼 | 5 | 9 | 8 | 7 | 12 | 13 | 16 | 이십 |
선행 요소가 가장 작은 부분이 되도록 두 번째 요소 수 1, 즉 (3)을 앞쪽에 삽입해야 합니다.
삼 | 4 | 5 | 9 | 8 | 7 | 12 | 13 | 16 | 이십 |
그런 다음 세 번째 숫자 또는 네 번째 요소인 (5)가 두 번째 또는 세 번째 요소(4)보다 작은지 또는 첫 번째 요소가 0(3)인지 확인합니다. 그렇지 않으면 스왑을 수행하지 않습니다. 그리고 이렇게 될 것입니다.
삼 | 4 | 5 | 9 | 8 | 7 | 12 | 13 | 16 | 이십 |
이제 처음 세 개의 숫자가 순차적으로 정렬되었으며 삽입 후 그 앞에 정렬된 숫자에 다음 숫자를 삽입합니다.
다음과 같이 마지막 숫자가 삽입될 때까지 이 과정을 반복합니다.
Contoh 프로그램 삽입 정렬 C++
#include#포함
#include
네임스페이스 std 사용
기본(){
시스템('색상 a');
cout<<'=============================================== ======================'<<끝;
cout<<'\n\t\tHARDIFAL'<
cout<<'= 부서\t : 정보 엔지니어링'<
인트닐라이[20];
int i,j,k,N;
정수 온도;
불 투카르;
cout<<'여러 개의 숫자를 입력하세요:';
신>>N;
(i=0; i
cout <<'요소 대상 :' <
신>>닐라이 [i];
}
cout <<'\n이전 데이터 정렬:';
(i=0;i
cout <
나는 = 0;
변경 = 사실;
동안 ((i<=N-2) && (투카르)){
변경 = 거짓;
(j=N-1; j>=i+1; j--){
if (닐라이[j] < 닐라이[j-1]){
온도 = 닐라이 [j];
닐라이[j] = 닐라이[j-1];
닐라이 [j-1] = 온도 ;
변경 = 사실;
cout <<끝;
(k=0; k
cout << setw(3)<< 값 [k];
}
}나++;
}
cout <<'\n정렬 후 데이터 :';
(i=0; i
cout <
getch();
}
출력 프로그램 알고리즘 삽입 정렬 C++:
