Java:
public class InsertSort {
int data[] = new int[6];
int size = data.length;
public static void main(String args[])
{
System.out.print("123");
InsertSort is = new InsertSort();
is.inputarr();
is.showData();
is.insert();
}
void inputarr()
{
int i;
for( i = 0 ; i<size; i++)
{
try{
System.out.print("please input:"+(i+1) +"element:");
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
data[i] = Integer.parseInt(br.readLine());
}
catch (Exception e)
{
}
}
}
void showData()
{
int i;
for(i = 0 ; i<size;i++)
{
System.out.print(data[i]+" ");
}
System.out.print("\n");
}
時間複雜度為:O(n^2)
最壞及平均需較(n-1) + (n-2)+....3+2+1 = n(n-1)/ 2次
insert sort建議在錄結串列上使用,因為會常造成資料的大量搬移。