提供插入排序C++代码
时间: 2023-10-11 11:09:25 浏览: 42
以下是插入排序的C代码实现:
```c
void insertion_sort(int arr[], int n) {
int i, j, key;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
```
这段代码的时间复杂度为O(n^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;
// 将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`函数对数组进行排序。最后,通过循环遍历数组,打印排序前和排序后的数组。
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};
int n = sizeof(arr) / sizeof(arr);
insertionSort(arr, n);
cout << "排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
这段代码实现了插入排序算法。插入排序的基本思想是将数组分为已排序和未排序两部分,每次从未排序部分取出一个元素,插入到已排序部分的正确位置。通过不断重复这个过程,最终完成整个数组的排序。