- java实现插入排序
- 实现代码
- 结果
public class InsertionSort { public int[] insertionSort(int[] array){ // 循环(array.length - 1)次就可以将数组排好序,数组第一个数据不用管 for(int i = 0;i < array.length - 1;i ++){ // 将i+1位置的数据插入到合适的位置 int j = i + 1; // 从数组中第一个数据开始找大于j位置数据的位置 int index = 0; while(array[index] < array[j] && index < j) index ++; // 这时index表示该数据要插入的位置 // 如果找到的不是自己的位置 if(index != j){ // 将一定长度的数组向后移动 int data = array[j]; int number = j - index;// 数组中数据向后移动次数 for(int new_index = 0;new_index < number;new_index ++){ array[j] = array[j - 1]; j --; } array[index] = data; } } return array; } }
public class Demo { public static void main(String[] args) { int[] array = {2,7,1,4,5,9,0,0,3,6,8}; InsertionSort sort = new InsertionSort(); array = sort.insertionSort(array); System.out.println("插入排序结果:"); for(int a : array) System.out.print(a + " "); } }结果
插入排序结果: 0 0 1 2 3 4 5 6 7 8 9
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)