详细介绍直接插入排序,包含三个介绍部分:1、算法思想,2、C++代码实现,3、输入输出样例
时间: 2023-08-31 11:01:31 浏览: 88
1. 算法思想:
直接插入排序是一种简单直观的排序算法。它的基本思想是将待排序的元素按照大小顺序一个个插入到已排好序的序列中,直到所有元素都插入完毕。具体实现时,将待排序序列分为两部分,一部分是已排序的子序列,另一部分是未排序的子序列。初始时,已排序子序列只包含一个元素,然后依次从未排序子序列中取出元素并将其插入到已排序的子序列中的正确位置,直到未排序子序列为空。
2. C++代码实现:
下面是直接插入排序的C++代码实现:
```cpp
#include <iostream>
using namespace std;
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, 8, 12, 1, 6, 3};
int n = sizeof(arr) / sizeof(arr[0]);
insertionSort(arr, n);
cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
3. 输入输出样例:
输入样例:
```
5 2 8 12 1 6 3
```
输出样例:
```
Sorted array: 1 2 3 5 6 8 12
```
以上代码实现了直接插入排序算法,并对示例数组进行排序,最后输出排序后的结果。
阅读全文