数値の配列があり、同じ数の要素を含むパーティションに分割されています(array_chunk()の出力と同じ)。それらは別々のファイルに書き込まれ、ファイル1.txtには最初のチャンクが、2.txtには2番目のチャンクが含まれます。そして今、これらのファイルに初期配列の要素の数を変更してください。もちろん、それらを1つの配列に読み込んで分割することはできますが、かなりの量のメモリが必要です。より効率的なソリューションで私を助けてください。 (ファイルの数と最後のファイルのサイズは別々に保存されています)他のアイデアはありません...ファイル内のデータの並べ替え
0
A
答えて
0
違う数字が分かりますか?そうすれば、データを簡単に読み込むことができ、チャンクを書き込むたびにデータを書き出すことができます。擬似コードの場合:
for each original file:
for each record:
add record to buffer
if buffer is desired size:
write new file
clear buffer
write new file
明らかに、新しいファイルは古いファイルと区別して保存する必要があります。そして、一度データを書き直すと、何とかそれらを交換することができます。 (私は個人的には2つのディレクトリを持っていることをお勧めします。完了したらディレクトリ名を変更します)
チャンクのサイズがわからない場合(たとえば、特定の数のファイルが必要な場合)は、それを理解するために必要な作業をしてから、元の解決策を進めてください。
+0
ありがとうございます。私はサイズを知っている(言及するのを忘れていた)。あなたのバージョンは最も効率的ではないかもしれません。なぜなら、いくつかのファイルは完全に書き直す必要はないからです(名前を変更して変更するだけです)。しかし、数字を計算してコードを使用するのは簡単です。 –
関連する問題
- 1. データセット内のデータを並べ替える
- 2. ディレクトリ内のWindowsファイルの並べ替え
- 3. ファイル内での並べ替え
- 4. DB内での並べ替えとアプリケーションの並べ替え
- 5. DynamoDBデータの並べ替え
- 6. Java:データの並べ替え
- 7. パンダの並べ替えデータ
- 8. CSVファイルの並べ替え
- 9. Riakでデータを並べ替え/並べ替える方法は?
- 10. フィールドでデータ並べ替え
- 11. PHPデータ並べ替え
- 12. Rデータを並べ替え
- 13. ファイルを並べ替えるツリーを並べ替えます
- 14. 選択並べ替え並べ替え
- 15. 並べ替えで並べ替え
- 16. サブクエリ内で並べ替え
- 17. C++の選択並べ替えなし並べ替え並べ替えなし
- 18. メソッド内でのモードの並べ替え(Ext jsでの並べ替え)6.2.0
- 19. ファイルを並べ替えて
- 20. SQLiteのデータの並べ替え
- 21. ListView内でのエントリの並べ替え
- 22. JTable内の数値の並べ替え
- 23. データベース内の行の並べ替え
- 24. リスト内のサブリストの並べ替え
- 25. JavaScript内のテーブルの並べ替え
- 26. フラットリスト内のアイテムの並べ替え
- 27. データフレームのgroupby内での並べ替え
- 28. ダッシュセグメントリスト内のセグメントの並べ替え
- 29. データグリッド内の情報の並べ替え
- 30. MarkLogic node.js api - グループを並べ替え、並べ替えで並べ替え
あなたはそれをより良く説明できますか?同じサイズのファイルがいくつかあり、最後のファイルは小さくて、あるファイルから別のファイルに要素を移動してファイルのサイズを変更する必要がありますか? – Nobody
はい、そのサイズは同じであり、レコードの「グローバル」順も同じです。 –