排序之插入排序
原理:
N: the number of elements void inser_sort(Type A[], int N) { for(P=1;P<N;P++){ Tmp = A[P]; for(j = P; j>0&&A[j-1]>Tmp;j--) { A[j] = A[j-1]; } A[j] = Tmp; } }
java示例:
package sort; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; public class InsertionSort { /** * insertion sort * @param A */ public static void insert_sort(int[] A) { int length = A.length; for (int p = 1; p < length; p++) { int tmp = A[p]; int j; for (j = p; j > 0 && A[j - 1] > tmp; j--) { A[j] = A[j - 1]; } A[j] = tmp; } } public static void main(String args[]) { int N; Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader( System.in))); N = scanner.nextInt(); int[] arr = new int[N]; for (int i = 0; i < N; i++) { arr[i] = scanner.nextInt(); } insert_sort(arr); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } } }