选择排序:
void sort(int a[], int n){
int i;
for(int p = 0; p < n; p++){
int t = a[p];
for(i = p; i > 0 && a[i - 1] > t; i -= 1)
a[i] = a[i - 1];
a[i] = t;
}
}
希尔排序:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int a[] = {1,5,9,8,7,6};
sort(a, 6);
System.out.println(Arrays.toString(a));
}
static void sort(int a[], int n){
int i;
for(int D = n; D > 0; D /= 2){//每次D的间隙
for(int p = D; p < n; p++){
int t = a[p];
for(i = p; i >= D && a[i - D] > t; i -= D)
a[i] = a[i - D];
a[i] = t;
}
}
}
}