排序之插入排序
原理:
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]);
}
}
}
浙公网安备 33010602011771号