本文根据《大话数据结构》一书,实现了Java版的直接插入排序

更多:数据结构与算法合集

基本概念

  直接插入排序思路:类似扑克牌的排序过程,从左到右依次遍历,如果遇到一个数小于前一个数,则将该数插入到左边所有比自己大的数之前,也就是说,将该数前面的所有更大的数字都后移一位,空出来的位置放入该数。

Java代码

	public void insertSort(int[] arr) {
		if(arr==null || arr.length<=0)
			return;
		for(int i=1;i<arr.length;i++) {
			if(arr[i]<arr[i-1]) {
				int temp=arr[i];
				int j=i;
				while(j>0 && temp<arr[j-1]) {
					arr[j]=arr[j-1];
					j--;
				}
				arr[j]=temp;
			}
		}
	}

  

复杂度分析

   空间复杂度:O(1)

  时间复杂度:O(n^2)

 

更多:数据结构与算法合集

 

相关文章:

  • 2021-12-31
  • 2022-12-23
  • 2021-06-20
  • 2021-10-10
  • 2022-12-23
  • 2021-10-27
  • 2021-06-02
  • 2021-07-30
猜你喜欢
  • 2021-06-21
  • 2021-08-23
  • 2021-07-25
  • 2021-10-25
  • 2021-12-23
  • 2022-01-15
  • 2021-07-20
相关资源
相似解决方案