排序算法(四)插入排序

插入排序是一種簡單直觀的排序算法。它的原理是經過構建有序序列,對於未排序的數據,在已排序的序列中從後向前掃描,找到相應的位置,並插入數據造成有序排列。算法

要點:在有序隊列查找相應位置、移動數組。

算法實現描述數組

-一、取第一個元素,由於沒有比較是一個有序的隊列。      

-二、從數組中取下一個數據,在以排序的隊列中從後往前掃描(從前日後),並判斷該元素與已排序元素的大小 。

-三、若排序隊列元素大於新元素,則將該元素移動到下一位置。  

-四、重複 3 直到找到以排序元素小於或等於新元素的位置。  

-五、將新元素插入該位置(i+1)。   

-六、重複 2 - 5.                                                                  

 代碼
public static void main(String[] args) {
		int[] a = {1, 5, 88, 4, 5, 0, 84, 69, 12, 5, 10, 254};
		System.out.println(Arrays.toString(a));
		insertSort(a);
		System.out.println(Arrays.toString(a));
	}

	public static void insertSort(int[] a){
		int len = a.length;
		for(int i=1;i<len;i++){
			int tem = a[i];
			int j = i-1;
			for(;j>=0&&tem<a[j];j--){
				a[j+1] = a[j];
			}
			a[j+1] = tem;
		}
	}
相關文章
相關標籤/搜索