JAVA实现插入排序,并进行了优化

package cn.zc;
/**
 * java实现插入排序
 */
import java.util.Arrays;

public class InsertSort {
	public static void main(String[] args) {
		int[] arr= {2,8,3,6,4,5,44,7,2};
		insertSort(arr);
		System.out.println(Arrays.toString(arr)); 
	}
	
	public static void insertSort(int [] arr) {
		if(arr==null||arr.length<2) {   //长度小于2,不用进行排序
			return;
		}
		for(int i=1;i<arr.length;i++) {
			for(int j=i;j>0;j--) {
				boolean flag=true;    //设置一个标志位
				if(arr[j]<arr[j-1]) {   //如果前一位比较大,进行交换
					int temp=arr[j-1];
					arr[j-1]=arr[j];
					arr[j]=temp;
					flag=false;       
				}
				if(flag) {   //表示已经找到位置,没有进行交换,直接停止此次循环
					break;
				}
			}
		}
	}
}

发布了12 篇原创文章 · 获赞 2 · 访问量 330

猜你喜欢

转载自blog.csdn.net/yuchen_lucky/article/details/105330978