次の問題について、本当に助けてください。
2つの2つのバイナリファイルからN個の整数(バイナリ形式)を読み取り、 O(nlogn)時間ですべての一般的な整数(これもバイナリ形式)を別の出力ファイルに書き込む必要があります。
これが私がやりたいことのスケッチです:
1-テキストファイルではないため、で使用できないことはわかってfscanf
い%d
ますが、各ファイルにN個の数値があることがわかっているので、「for」ループでN回実行したいと思います。
for (i=0; i<N; i++) {
fread(&int1, 4, 1, file1);
fread(&int2, 4, 1, file2);
arr1[i]=int1;
arr2[i]=int2;
}
ここarr1
で、arr2
それぞれNサイズのint配列はありますか?これは正しいですか?すべての整数が4ビットで表されるN個の整数があることがわかっている場合、ファイルの最後で終了します。
qsort
2-ステップで各配列をソートするために使用したいのですnlogn
が、まだnlognステップで2つをどのように比較する必要がありますか?私は賢い方法にたどり着きませんでした。