ランダムな2箇所を入れ替えてたんじゃ
100個のデータに対して100回入れ替えても
結構な数のデータが並べ替えられず終わってしまう

こんな感じにすればいい

for(i=COUNT;i>0;i--){
 n=rand()%i;
 work=data[i-1];
 data[i-1]=data[n];
 data[n]=work;
}

セレクションソートで最大値ではなく
ランダムなものと入れ替えるイメージ