C言語で、ランダムで発生させた数字をselect_sortを使って、小さい順に並べたいです。しかしterminalで以下のコマンドを使用しても、ところどころ小さい順に並びませんでした:

$ gcc sort2.c -o sort2.s
$ time ./sort2.s
data size = 200
    8   11   12   18   22   15   24   32   38   40
   16   42   47   68   73   73   75   85   88   97
  100  101  106  112  113  124  143  149  154  156
  157  160  162  165  166  168  169  169  169  176
  180  207  208  209  214  225  231  228  249  256
  256  257  259  269  282  284  306  306  307  312
  319  321  325  327  329  331  346  352  354  358
  359  371  373  376  380  386  386  395  396  399
  404  413  419  423  423  426  430  433  438  443
  446  446  447  471  478  486  491  493  502  505
  510  515  518  523  523  525  526  528  529  533
  543  544  548  551  556  558  573  580  598  603
  605  609  609  615  627  642  643  646  650  652
  655  661  671  682  688  690  692  712  713  715
  720  725  725  738  739  751  754  755  758  758
  763  768  768  788  790  803  811  816  820  826
  826  832  833  843  851  853  858  858  865  871
  884  886  889  890  892  892  895  904  905  908
  911  911  914  915  915  921  925  927  936  941
  949  952  952  958  957  960  982  983  985  991

real    0m0.008s
user    0m0.003s
sys 0m0.002s

どこがおかしいのか指摘していただけないでしょうか。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 200
#define RandMax 1000

void select_sort(int a[], int n){ /*ランダムで発生した数字を小さい順に並べ替える*/
    int *i;
    int *j;
    int *min;
    int t;
    int *last;

    last=a+MAX;

    for (i=a; i<last; i++){
        min = i;
        for(j=i+1; j<last; j++){
            if (*j < *min){
                min=j;
            }
        t=*min;
        *min = *i;   
        *i=t;        
        }

    }
}
int main(){
    int a[MAX];
    int i;

    srand((unsigned)time(NULL));
    for(i = 0; i < MAX; i++){
        a[i] = rand()%RandMax;
    }

    //for  (i=0; i<10000; i++){
    select_sort(a, MAX);
    //}

    printf("data size = %d\n", MAX);

    for(i = 0; i < MAX; i++){
        printf("%5d", a[i]);
        if (i%10 == 9)
        printf("\n");
    }
}