插入排序_C++

简介:

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
插入排序的基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。

{
inti,j;
inttemp;
for(i=first+1;i<last;i++)
{
temp=array[i];
j=i-1;
//与已排序的数逐一比较,大于temp时,该数移后
while((j>=0)&&(array[j]>temp))
{
array[j+1]=array[j];
j--;
}
//存在大于temp的数
if(j!=i-1)
{array[j+1]=temp;}
}
 
}
目录
相关文章
|
1月前
|
搜索推荐 C++
C++插入排序的实现
C++插入排序的实现
|
4月前
|
算法 搜索推荐 C++
C++017-C++冒泡排序与插入排序
C++017-C++冒泡排序与插入排序
C++017-C++冒泡排序与插入排序
|
存储 人工智能 搜索推荐
【八大数据排序法】插入排序法的图形理解和案例实现 | C++
排序算法是我们在程序设计中经常见到和使用的一种算法,它主要是将一堆不规则的数据按照递增或递减的方式重新进行排序。在如今的互联网信息时代,随着大数据和人工智能的发展,大型企业的数据库中有亿级的用户数据量。因此对其进行处理,排序算法也就成为了其中必不可缺的步骤之一。
83 0
【八大数据排序法】插入排序法的图形理解和案例实现 | C++
|
人工智能 Linux C++
比较C++和C实现直接插入排序和二分插入排序效率
 比较C++和C实现直接插入排序和二分插入排序效率! 注:之前没有发现这其实是两个不同算法,现在更正下。 下面用C++实现二分插入排序和C实现直接插入排序,明天会继续测试下C++实现直接插入排序和C实现二分插入排序 下面是几次的输出结果:(C)Total seconds time taken by CPU: 119.
965 0
|
2天前
|
存储 编译器 C语言
c++的学习之路:5、类和对象(1)
c++的学习之路:5、类和对象(1)
18 0
|
2天前
|
C++
c++的学习之路:7、类和对象(3)
c++的学习之路:7、类和对象(3)
19 0
|
1天前
|
设计模式 Java C++
【C++高阶(八)】单例模式&特殊类的设计
【C++高阶(八)】单例模式&特殊类的设计

热门文章

最新文章