直接插入排序
程序员文章站
2022-03-21 21:24:25
...
直接插入排序,它是一种依次将无序区的元素在有序区内找到合适位置依次插入的算法。
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序,直到无序表内所有元素插入为止。
首先在当前有序区R[0..i-1]中查找R[i]的正确插入位置 k(0≤k≤i-1);
然后将R[k..i-1]中的记录均后移一个位置,腾出 k 位置上的空间插入R[i]。
void insertSort(vector<int> array)
{
int n = array.size();
for(int i = 1; i < n; i++)
{
int j = i - 1;
int tmp = array[i];
while(j >= 0 && tmp < array[j])//比插入元素大的元素进行后移操作
{
array[j + 1] = array[j];
j--;
}
array[j + 1] = tmp;//插入要插入的元素
}
}
上一篇: 插入排序
下一篇: 为你总结一些php系统类函数
推荐阅读
-
Nginx配置txt、pdf、doc、xls等文件直接下载的方法
-
Excel如何将文本格式转换为可以直接用来计算的数字有哪些方法
-
Excel中把小数变成整数不用公式最直接快速的方法将.*替换为空
-
EditPlus怎么显示文件的绝对路径?EditPlus直接显示打开文件的全路径的设置方法
-
C#如何从byte[]中直接读取Structure实例详解
-
.Net core下直接执行SQL语句并生成DataTable的实现方法
-
支付宝9.0新增炒股功能 余额宝直接买卖股票
-
ASP.NET MVC 项目直接预览PDF文件
-
详解直接访问WEB-INF目录下的JSP页面的方法
-
Apache下禁止php文件被直接访问的解决方案