Java排序演算法之 插入排序

2021-09-01 10:56:16 字數 898 閱讀 6256

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 選...