插入排序法

来源:互联网 发布:sql怎么删除索引 编辑:程序博客网 时间:2024/05/17 01:48
//插入排序package com.InsertSort;public class InsertSort {public static void main(String[] args){int[] array = new int[]{3,69,42,18,1,25};outPut(array);  //输出数组insertAscending(array);  //插入升序排序insertDscending(array);   //插入降序排序}/** * 输出数组 * @param array */public static void outPut(int[] array){for (int i = 0; i < array.length; ++i){System.out.print(array[i] + " ");}System.out.println();}/** * 插入升序排序 * @param array */public static void insertAscending(int[] array){for (int i = 1; i < array.length; ++i){int j = i - 1;int temp = array[i];   //temp用来保存要插入的数while (j >= 0 && temp < array[j])  //两个条件的顺序不能互换,否则数组越界{array[j + 1] = array[j];   //如果要插入的数小于前面的数,前面的数后移--j;}array[j + 1] = temp;   //插入数的位置}System.out.println("插入升序排序为");outPut(array);}public static void insertDscending(int[] array){for (int i = 1; i < array.length; ++i){int j = i - 1;int temp = array[i];   //temp用来保存要插入的数while (j >= 0 && temp > array[j]){array[j + 1] = array[j];   //如果要插入的数大于前面的数,前面的数后移--j;}array[j + 1] = temp;   //插入数的位置}System.out.println("插入降序排序为");outPut(array);}}