insertion sort
1.insertion sort
#include <stdio.h> #include <time.h> #include <stdlib.h> #define N 20 void main() { int i,j,temp, a[N]; srand((unsigned)time(0)); puts("this is the 20 numbers,"); for( i = 0; i < N; i++) { a[i] = rand()%100; printf("%4d\t",a[i]); } puts("this is the end"); for( i = 1; i < N; i++) { temp = a[i]; for( j = i-1; j >= 0; j--) { if(temp < a[j]) { a[j+1] = a[j]; } else break; } //这里为什么没有放在break上面,是因为当temp要放在第一位的时候,这一句不一定被执行 a[j+1]=temp; } for(i = 0; i < N; i++) printf("%4d\t",a[i]); }