##插入排序的java语言实现
-
由于是自己在CSDN上面的第一篇博文,因此还是要简单的说明一下,首先感谢所有在CSDN上面分享自己知识的前辈们,因为我也看了许多的博文,学习到了许多的知识,非常感谢。
-
以前自己一直坚持在新浪上面写,到今天为止,我也就正式的搬到CSDN上面来记录自己的学习过程了。
前段时间一直在学习算法,在看《算法导论》这本书,从今天开始就要开始我们的算法实现之旅了,希望能给自己和他人的学习带来一点帮助。我会按照《算法导论》这本书上面的目录一一的将上面的算法实现,我选择的是java语言实现。
今天是关于插入排序的实现,废话不多说,直接上代码。
java code
public static void main(String[] args) {
int [] a={9,6,8,4,1,2,4,5,7};
System.out.println("排序前的数组如下:");
for(int i:a){
System.out.print(i+",");
}
System.out.println("");
int temp;
for (int i=1;i<a.length;i++){
temp=a[i];
int j=i-1;
for(;j>=0;--j){
if(a[j]>temp){
a[j+1]=a[j];
}
else{
break;
}
}
a[j+1]=temp;
}
System.out.println("排序后的数组如下:");
for(int i:a){
System.out.print(i+" ,");
}
}
- 上面的这个是使用的for循环来实现,下面是使用的是while循环来实现
public class InsertSortImplementDemo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={9,7,6,4,5,6,2,4,1,5,6,9,7,8};
System.out.println("排序前的数组如下:"+Arrays.toString(a));
int temp;
for(int i=1;i<a.length;i++){
temp=a[i];
int j=i-1;
while(j>=0&&a[j]>temp){
a[j+1]=a[j];
--j;
}
a[j+1]=temp;
}
System.out.println("排序后的数组如下"+Arrays.toString(a));
}
}
##总结
- 代码还是比较简单的,比较容易理解
- 个人觉得当你算法的思想理解了之后,将其实现还是比较简单的
##郁闷
- 第一次使用MarkdowmPad 2来写博客,居然没有关键字没有高亮显示,呜呜。