常见内部排序算法对比分析及C++ 实现代码
2021-07-21 05:55
标签:-- 保留 load 图片 要求 src 元素 直接插入排序 移动 内部排序是指在排序期间数据元素全部存放在内存的排序。外部排序是指在排序期间全部元素的个数过多,不能同时存放在内存,必须根据排序过程的要求,不断在内存和外存之间移动的排序。本次主要介绍常见的内部排序算法。 直接插入排序的算法思想是把待排序序列a[n]中的n个元素看作是一个有序表和无序表。开始时有序表中只包含第一个元素a[0],无序表中包含n-1个元素a[1]~a[n-1],排序过程中每次从无序表中拿出第一个元素,把它插入有序表的适当位置,使之成为新的有序表,有序表中的元素个数加1。这样经过n-1次插入后,无序表变成空表,有序表中包含了全部n个元素,排序完毕。直接插入排序算法的实现代码如下: 常见内部排序算法对比分析及C++ 实现代码 标签:-- 保留 load 图片 要求 src 元素 直接插入排序 移动 原文地址:https://www.cnblogs.com/JCpeng/p/15024267.html1. 直接插入排序
void DirectInsertSort(vectorint>& arr)
{
int i, j;
for (i = 1; i )
{
if (arr[i] 1]) //判断是否需要重新排序,否则保留原位置
{
int temp = arr[i]; //待插入元素
for (j = i - 1; j >= 0 && temp 1] = arr[j]; //逆序寻找插入位置,同时将大于待插入元素右移
arr[j + 1] = temp;
}
}
}
2. 折半插入排序
文章标题:常见内部排序算法对比分析及C++ 实现代码
文章链接:http://soscw.com/index.php/essay/106792.html