您的位置:首页 > 编程语言 > Java开发

直接插入排序

2015-01-29 11:47 190 查看
package sort;

public class InsertSortTest { 

   public static int count = 0; 

 

    public static void main(String[] args) { 

 

        int[] data = new int[] { 5, 3, 6, 2, 1, 9, 4, 8, 7 }; 

        print(data); 

        insertSort(data); 

        print(data); 

 

    } 

  算法过程:

    public static void insertSort(int[] data) { 

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

            // 缓存i处的元素值  

            int tmp = data[i]; 

            if (data[i] < data[i - 1]) { 

                int j = i - 1; 

                // 整体后移一格  

               while (j >= 0 && data[j] > tmp) { 

                   data[j + 1] = data[j]; 

                    j--; 

                } 

                // 最后将tmp插入合适的位置  

                data[j + 1] = tmp; 

                print(data); 

            } 

        } 

    } 

 

    public static void print(int[] data) { 

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

            System.out.print(data[i] + "\t"); 

        } 

        System.out.println(); 

    } 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息