
使用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++中的插入排序算法来对数组进行排序。插入排序虽然简单,但是它的时间复杂度
.........................................................