java之直接插入排序

2021-07-28 11:44:30 字數 1279 閱讀 8414

有乙個待排序的陣列array,陣列長度為n。假設有乙個已經排好序的有序序列塊,用該序列塊對未排序的序列塊中的記錄進行逐個處理。每一步將乙個待排序的記錄和同組已經排好序的記錄進行比較,然後有序的插入到有序序列中,直到將所有的待排序的記錄全部插入為止。

package com.mahui.exercise;

public

class

sort ;

system.out.println("排序前陣列為:");

print(intarray);

insertsort(intarray);

system.out.println("排序後陣列為:");

print(intarray);

string strarray=;

system.out.println("排序前陣列為:");

print(strarray);

insertsort(strarray);

system.out.println("排序後陣列為:");

print(strarray);

float floatarray=;

system.out.println("排序前陣列為:");

print(floatarray);

insertsort(floatarray);

system.out.println("排序後陣列為:");

print(floatarray);

}/**

* 插入排序

*@param array 待排序的陣列

*/public

static

super t>> void

insertsort(t array)

array[j+1]=array[0];}}

/*** 列印輸出陣列

*@param array

*/public

static

super t>> void

print(t array)

system.out.println();}}

從**中我們可以看出,直接插入排序採用的是雙重迴圈,所以它的時間複雜度應該是o(n^2)。

本演算法中我們用陣列的0號位置儲存待排序序列中的乙個記錄,在找到正確的插入位置以後,方便將待插入資料插入,起到資料備份的作用,故空間複雜度為o(1)。

Java 直接插入排序

直接插入排序就是直接將乙個數插入到有序的 序列中,對於陣列n,可你看作是兩個序列,第乙個序列是陣列的第乙個元素,第二個序列是原陣列,將第二個序列依次插入到第乙個序列中,下面實現 方法 sort方法是將乙個元素讓入到有序數列中,insertsort方法是對整個陣列的操作 public class in...

Java 直接插入排序

直接插入排序是一種最簡單的排序演算法,在後續我會繼續發布其他的簡單排序 直接插入的演算法基本思想是 僅有乙個元素的序列總是有序的,因此,對n個記錄的序列,可從第二個元素開始直接到第n個元素,逐個向有序序列中執行插入操作,從而得到n個元素按關鍵字有序的序列。一般來說,在含有j 1個元素的有序序列中插入...

java 直接插入排序

直接插入排序是指 將乙個新記錄插入到已經排好序的列表中 他的具體操作是 如果乙個資料比它前面的資料要小,則將該資料向前移動。直接插入排序 author 半知半行 public static void straightinsertionsort int sorts else sorts pos t 測...