c++插入排序详解

2025-05-27 0 19

说一说插入排序

插入排序的基本操作就是将一个数据插入到已经排序好序的数据中,从而得到一个新的,个数加一的有序数据,算法适用与少量的数据的排序。时间复杂度O(n^2),是稳定的排序算法。

基本思想:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件的适当位置上去,直到全部插入完为止。

原理示意图:

c++插入排序详解

函数段的c++代码实现:

c++插入排序详解

全部代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30
#include <iostream>

using namespace std;

void insert_sort(int* a,int b)//实现插入排序,引入两个参数,a为数组首地址,b为数组元素个数

{

for(int i=1;i<b;i++)

{

int j=i;

int t=*(a+j);//标记待排序的元素

//将大于待排序元素的数整体后移,然后将t插入小于它的数的后面

while(t<*(a+j-1)&&j!=0)

{

*(a+j)=*(a+j-1);

j--;

}

*(a+j)=t;

}

}

int main()

{

int a[5];

for(int i=0;i<5;i++)

{

cin>>a[i];

}

insert_sort(a,5);

for(int i=0;i<5;i++)

{

cout<<a[i]<<" ";

}

}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 c++插入排序详解 https://www.kuaiidc.com/73943.html

相关文章

发表评论
暂无评论