JAVA算法起步之插入排序实例_Java教程-查字典教程网
JAVA算法起步之插入排序实例
JAVA算法起步之插入排序实例
发布时间:2016-12-28 来源:查字典编辑
摘要:趁着过年这段时间,我将算法导论这本书看了一遍,感觉受益匪浅。着这里也根据算法导论中所涉及到的算法用java实现了一遍。第一篇我们就从排序开始...

趁着过年这段时间,我将算法导论这本书看了一遍,感觉受益匪浅。着这里也根据算法导论中所涉及到的算法用java实现了一遍。

第一篇我们就从排序开始,插入排序的原理很简单,就像我们玩扑克牌时一样。如果手里拿的牌比他前一张小,就继续向前比较,知道这张牌比他前面的牌打时候就可以插在他的后面。当然在计算机中我们相应的也需要将对比过的牌向后移一位才可以。

这里直接给出算法,相信很多程序员都感觉有些程序比我们的自然语言都要好理解。

复制代码 代码如下:

public class Sort {

public void sort(int[] s){

if(s.length<1){

return ;

}

for (int i = 1; i < s.length; i++) {

int key =s[i];

int j=i-1;

while(j>=0&&s[j]>key){

s[j+1]=s[j];

j--;

}

s[j+1]=key;

}

}

public static void main(String[] args) {

Sort s=new Sort();

int[] st =new int[]{7,5,3,4,2,1};

s.sort(st);

for (int i = 0; i < st.length; i++) {

System.out.println(st[i]);

}

}

}

他的时间复杂度是o(n*n),是原址的(任何时候都需要常数个二外的元素空间存储数据而归并排序就是非原址的)

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类