直接插入排序——C语言

什么是直接插入排序?怎么理解它?

举个栗子:比身高,

一群人站成一排,你的身高在这些人中不高不矮,要想把你放进去且身高递增,肯定是要比较的,既然要比较那就要有比较的基准,

同理要想在无序数组里插入一个数,肯定也要比较,

给出一组数{4,2,3,1,5},要把它变成有序怎么办?是不是可以把4看做一个基准,比4大的都在4前面,比4小的都在后面呢?而且2前面只有一个数:4,它一定是有序的!接下来我们试一下:

        4,2,3,1,5(把2取出与4比较,2<4,所以4后退一位进入2的位置,2则放入4的位置)——>2,4,3,1,5(现在2,4有序的)

          2,4,3,1,5(把3取出与4比较,3<4,再与2比,3>2所以4后退一位进入3的位置,3则放入4的位置)——>2,3,4,1,5(2,3,4有序)

          接下来同理

          下面贴上代码


贴上运行结果


如有错误,欢迎大家指正

猜你喜欢

转载自blog.csdn.net/qq_37258792/article/details/81017109
今日推荐