C++의 삽입 정렬 알고리즘을 사용하여 배열 정렬 구현
삽입 정렬은 정렬할 요소를 정렬 목록에 하나씩 삽입하고 최종적으로 정렬된 목록을 얻는 간단하지만 효과적인 정렬 알고리즘입니다. 이 기사에서는 C++ 프로그래밍 언어를 사용하여 삽입 정렬 알고리즘을 구현하는 방법을 소개하고 특정 코드 예제를 제공합니다.
알고리즘 아이디어:
삽입 정렬의 기본 아이디어는 배열을 정렬된 간격과 정렬되지 않은 간격으로 나누는 것입니다. 정렬되지 않은 범위에서 요소가 선택되고 정렬되지 않은 범위가 빌 때까지 정렬된 범위의 적절한 위치에 삽입될 때마다.
구체적인 단계:
코드 예:
다음은 C++ 프로그래밍 언어를 사용하여 삽입 정렬 알고리즘을 구현하는 예제 코드입니다.
#include <iostream> void insertionSort(int arr[], int n) { for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = key; } } int main() { int arr[] = { 5, 2, 4, 6, 1, 3 }; int n = sizeof(arr) / sizeof(arr[0]); std::cout << "原始数组:"; for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; insertionSort(arr, n); std::cout << "排序后的数组:"; for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; return 0; }
위 코드에서는 정렬을 위해 insertionSort
的函数来实现插入排序。在main
函数中,我们定义了一个待排序的数组并调用insertionSort
라는 함수를 정의합니다. 마지막으로 정렬된 결과를 콘솔에 출력합니다.
실행 결과:
원래 배열: 5 2 4 6 1 3
정렬된 배열: 1 2 3 4 5 6
요약:
위 예제 코드를 통해 C++의 삽입 정렬 알고리즘을 사용하여 정렬하는 방법을 확인할 수 있습니다. 배열. 삽입 정렬은 간단하지만 시간 복잡도는 O(n^2)이고, 대용량 데이터에 대한 정렬 효율은 낮다. 실제 응용에서 많은 양의 데이터를 정렬해야 하는 경우에는 퀵 정렬이나 병합 정렬 등 보다 효율적인 정렬 알고리즘을 사용하는 것이 좋습니다.
위 내용은 C++에서 삽입 정렬 알고리즘을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!