插入排序代码实现

public class Test3 {
	
	public static void main(String[] args) {
		int[] arr = {11,3,4,74,45,99};  //定义数据
		insertSort(arr);   //调用排序方法进行测试。调用Arrays.sort(arr);也可以实现排序
	}
	
	public static void  insertSort(int[] arr) { //抽取出插入排序的方法
		if (arr==null || arr.length <2) {//判断数组长度是否为空,或是否小于2位数,
			return;  //如果是则直接跳出排序方法
		}
		swap(arr);  //调取交换的方法,升序
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]+" ");  //对数组进行循环遍历输出
		}
	}

	public static void swap(int[] arr) {  //对数组进行排序 
		for (int i = 1; i < arr.length; i++) { //外层控制索引+1的元素 ,假设index(0)是有序的
			for (int j = 0; j < i; j++) { //内层控制索引j元素 ,j<i控制新元素与已排序的元素进行比对
				int temp = 0;   //设置临时变量进行交换数据
				if (arr[j]>arr[i]) {  // 11 > 3 
					temp =arr[j];  
					arr[j] = arr[i];   
					arr[i] = temp;
				}
			}
		}
	}
}
发布了25 篇原创文章 · 获赞 4 · 访问量 726

猜你喜欢

转载自blog.csdn.net/qq_43149023/article/details/92416281