插入排序的C++代码实现
来源:互联网 发布:java语言设计培训班 编辑:程序博客网 时间:2024/06/05 06:44
转自百度百科:如果目标是把n个元素的序列升序排列,那么采用插入排序存在最好情况和最坏情况。最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。插入排序的赋值操作是比较操作的次数加上 (n-1)次。平均来说插入排序算法的时间复杂度为O(n^2)。因而,插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,例如,量级小于千,那么插入排序还是一个不错的选择
#include <iostream>
using namespace std;void InsertSort(int arr[], int length)
{
int temp;
for (int i = 1; i < length; ++i) // 从数组中的第二个元素开始
{
temp = arr[i]; // 记录当前的元素
int j = i - 1;
while (j >= 0 && temp < arr[j]) // 将当前元素与之前的已经排序好的序列元素进行挨个比较
{
arr[j + 1] = arr[j]; // 已经排序好的序列整体向后移动
--j;
}
arr[j + 1] = temp; // 插入当前的元素
}
}
int main()
{
int arr[10] = {9, 2, 8, 2, 3, 2, 4, 10, 34, 5};
InsertSort(arr, 10);
for (int i = 0; i < 10; ++i)
{
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}
0 0
- 插入排序的C代码实现
- 简单的C语言插入排序实现代码
- 插入排序的代码实现
- 插入排序C语言实现代码
- 插入排序的c实现
- 插入排序代码实现
- 插入排序的java实现代码
- 直接插入排序的C++实现代码
- 插入排序的C++代码实现
- 插入排序的原理和代码实现
- 算法代码实现之插入排序,C/C++实现
- 插入排序C实现
- C实现插入排序
- 插入排序 C实现
- C链表 插入排序的实现
- 插入排序算法的C语言实现
- C语言实现的插入排序
- 插入排序的C语言实现
- ATM代码
- POJ 1085 Triangle War 极大极小+剪枝 -
- EF调用存储过程、函数
- Jpa到Spring data jpa
- Geometry类型自定义类型转换器
- 插入排序的C++代码实现
- FrameWork层WiFi模块架构剖析
- 重复抽样与非重复抽样
- Android GPIO LED
- LINUX集群--均衡负载 LVS(三) LVS后端服务健康状态检查
- main函数参数
- DOM初探系列(1)
- HDFS架构详解
- 【Linux】chmod----改变一个或多个文件的存取模式(mode)