首页 > 代码库 > 插入排序
插入排序
简单排序中插入排序相对于另外两种(冒泡排序、选择排序)效率要高。
插入排序规则:从左边第二个开始讲该数据项往前插入到合适的位置,若该数据项比第一个小则插入到第一个数据项的前面,否则位置不变。然后依此规则将第三个数据域前面的数据进行比较,插入到合适的位置。依次将后面所有的数据插入到前面合适的位置。
插入排序是稳定排序。
import java.util.Arrays;
public class InsertSort {
/**
* 插入排序
* @param args
*/
public static void main(String[] args) {
int[] a={24,12,65,34,100,11,23,76,34};
System.out.println("排序前:"+Arrays.toString(a));
for(int i=1;i<a.length;++i){
int temp=a[i];
int j=i-1;
while(j>=0&&a[j]>temp){ //找出数据应插入的位置,数据大于待插入值向后移一位
a[j+1]=a[j];
j--;
}
if(j!=i-1){
a[j+1]=temp;
}
}
System.out.println("排序后:"+Arrays.toString(a));
}
public class InsertSort {
/**
* 插入排序
* @param args
*/
public static void main(String[] args) {
int[] a={24,12,65,34,100,11,23,76,34};
System.out.println("排序前:"+Arrays.toString(a));
for(int i=1;i<a.length;++i){
int temp=a[i];
int j=i-1;
while(j>=0&&a[j]>temp){ //找出数据应插入的位置,数据大于待插入值向后移一位
a[j+1]=a[j];
j--;
}
if(j!=i-1){
a[j+1]=temp;
}
}
System.out.println("排序后:"+Arrays.toString(a));
}
}
插入排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。