package algorithm.sort;
/*** 原理:插入排序使用的是增量方法,每次將乙個待排序的數,插入到已經排好序的陣列中,
* 直到所有待排序的數都插入到有序陣列中為止(類似於摸牌後整理牌)。
* @author administrator
*/public class insertsort
a[j+1] = key; //將待插入元素插到已排序陣列中 }}
/*** 遞迴插入排序:為排序a[1..n],先遞迴排序a[1..n-1],
* 然後再將a[n]插入到已排序的a[1..n-1]中去
* @param a:待排序的陣列
* @param n:待插入的元素序號
*/public void recursiveinsertsort(int a, int n) }}
//列印陣列
public void printarr(string str, int a)
public static void main(string args) ;
is.printarr("排序前:", a);
is.insertsortup(a);
is.printarr("排序後:", a);
int b = ;
is.printarr("排序前:", b);
is.recursiveinsertsort(b, b.length-1);
is.printarr("排序前:", b);}}
//output~
排序前: 2 2 6 8 3 4
排序後: 2 2 3 4 6 8
排序前: 4 8 0 2 5 1
排序前: 0 1 2 4 5 8
Java排序演算法 插入排序
插入排序最簡單的排序方法之一。它是時間複雜度為o n 2 空間複雜度為o 1 的一種穩定排序演算法。基本思想 插入排序有n 1趟排序組成。假設在第p個位置的元素為待插入元素,對於p 1到p n 1趟,每一趟保證從位置到位置p的元素已經處於有序狀態。一開始預設a 0 為已排序陣列中的元素,從arr 1...
java常用排序演算法之插入排序
直接插入排序法的思想是,把待排序的元素分成兩部分,一部分是沒排好序的元素,另一部分是排好序的元素。把沒排好序的元素,逐一的插入已排好序的部分。下面是使用直接插入排序法實現公升序排序的步驟 1.從第乙個元素開始,可以認為該元素已經被排序,2.取出下乙個元素,在已排序的元素序列中從後向前掃瞄,3 若已排...
Java排序之插入排序
插入排序 將乙個資料插入到已經排好序的序列中去,插入後保證序列依然有序,這個過程就是插入排序。現在給定乙個未知是否排好序的陣列,要將其進行從小到大排序。如果使用插入排序,必須先將該資料分為兩部分,一部分是排好序的,一部分是未排序的,並且逐一將未排序的部分插入到已排序的部分中去。演算法步驟描述 1 選...