Aの値でソートされたA [サイズ]のインデックスを含むリストint A [サイズ]とリストmaxA [サイズ]があります。基本的にA [maxA [ 0]]はAの中で最大のintの要素でなければならず、maxA [0]はそのインデックスでなければなりません。ここで qsortを使ってリストをソートする
は私の比較関数である:int compareA(const void *a,const void *b){
return A[*(TYPE *)b] - A[*(TYPE *)a];
}
そして私は
qsort(maxA,SIZE_L,sizeof(int),compareA);
でそれを呼び出す私は、ランダムなpossitive数で要素の値を増加させ、ループを持っているとき、[I] > L(Lはエンディングのリストによって定義され、ランダムなものです):
A[maxA[i]] = INT_MIN;
it しばらくすると、動作が停止します。ここに私の出力です:
INDEX VALUE
1 320
2 207
8 -437
3 -681
4 -960
6 -1638
5 -2928
9 -7395
7 -19272
0 -2147483648
Removed: 1
6 -1560 500
5 -2684 1000
9 -7140 1066
7 -18396 1168
1 -2147483648
0 -2147483648
2 276
3 0
8 -418
4 -864
私はこのランダムな動作を取得します。
コードを記述するのではなく([私はリストを持っています...])、[最小限の、完全で、検証可能な例](http://stackoverflow.com/help/mcve)を作成してください。 –
用語には注意してください。あなたは2つの配列を持っています。リストには、リンクされたリストの意味がありますが、これはまったく異なります。 –
'qsort_r()'を調べたいかもしれませんが、それは非標準であり、異なるプラットフォームが同じ名前に対して異なる(完全に互換性のない)インタフェースを実装しています。 –