插入排序c++代码实现
时间: 2023-08-10 08:58:29 浏览: 111
插入排序是一种简单直观的排序算法,它将待排序序列分为已排序和未排序两部分,每次从未排序部分取出一个元素,插入到已排序部分的合适位置。以下是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;
// 将arr[0]到arr[i-1]中大于key的元素都向后移动一位
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key; // 插入key到正确的位置
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "排序前的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
insertionSort(arr, n);
cout << "\n排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
该代码首先定义了一个`insertionSort`函数来实现插入排序。在`main`函数中,创建了一个整数数组并初始化,然后调用`insertionSort`函数对数组进行排序。最后,通过循环遍历数组,打印排序前和排序后的数组。
阅读全文