插入排序(java)

发布于:2023-01-04 ⋅ 阅读:(158) ⋅ 点赞:(0)
package sort;

import java.util.Arrays;

public class Insertsort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a[]= {101,34,119,1};
        System.out.println("未排序前的结果是");
        System.out.println(Arrays.toString(a));
        insertsort2(a);
        System.out.println("排序后的结果是");
        System.out.println(Arrays.toString(a));
    }

    //插入排序的主方法
    public static void insertsort(int [] a) {
        for(int i=1;i<a.length;i++) {
            for(int j=0;j<i;j++) {
                if(a[i]<a[j]) {
                    int temp=a[i];
                    a[i]=a[j];
                    a[j]=temp;
                }
            }
System.out.println("第"+i+"次插入的结果为"+Arrays.toString(a));
        }
//System.out.println("最终的插入排序的结果为"+Arrays.toString(a));
    }
    //方法2
    public static void insertsort2(int [] a) {
        for(int i=1;i<a.length;i++) {
            int insertvalue=a[i];
            int insertindex=i-1;
            while(insertindex>=0 && insertvalue<a[insertindex]) {
                a[insertindex+1]=a[insertindex];
                insertindex--;
            }
            if(insertindex+1!=i) {
                a[insertindex+1]=insertvalue;
            }
            System.out.println("第"+i+"次插入的结果为"+Arrays.toString(a));
        }    
        System.out.println("最终的插入排序的结果为"+Arrays.toString(a));
                }
            
    }


网站公告

今日签到

点亮在社区的每一天
去签到