首先呢先看下它的原理
由此可鉯看出,总数据长度为NN个数字要完成排序,总共要进行N-1趟排序第i趟的排序次数为(N-i)次;
java中最常见的方法是双层for循环进行排序。
外层控制總共要进行的趟数内层控制第几趟的数据内部的排序次数。
//排序后的数组顺序为
ps:由于数组外层是从0开始遍历的所以第二趟的时候i为1,苐二趟的排次数为6-(1-1)第三趟i为2,第三趟的排序次数为6-(2+1)
同理,我们先来看下原理意思每次从现有数据挑出一个最小的直接放在最前面,苐二次再将剩余的数据进行排序拿出最小的放在最前面,以此类推
最小数据1,把1放在首位也就是1和5互换位置,
由此可以看出N个数據,要进行N-1趟排序把0索引的元素,和索引1以后的元素都进行比较第一次完毕,最小值出现在了0索引同理,其他的元素就可以排好
外层控制总共要排序的趟数,内层表示要和下标为X的数据比较数组值
//外层控制总共要进行排序的趟数 //内层表示要和下标为X的数据比较数組值 //排序后的数组顺序为
算法有多少种原理:所谓插入排序法乃是将一个数目插入该占据的位置。
所以有N个数,则要进行N-1趟排序
//N个数,则需要进行n-1次排序 //从第一个元素开始该元素可以认为已经被排序 //取出下一个元素,在已经排序的元素序列中从后向前扫描 //如果该元素(已排序)大于新元素将该元素移到下一位置
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。