2016-06-09 30 views
-1

那麼直接點,我有兩個數組說:oldArray [SIZE]和newArray [SIZE]。我想找到的兩個陣列例如各元素之間的區別:計算差異數據並通過網絡發送它的最佳方式是什麼?

oldArray[0]-newArray[0] = oldArray[1]-newArray[1] = oldArray[2]-newArray[2] = : : oldArray[SIZE]-newArray[SIZE] =

如果差值爲零不用擔心,但如果diff> 0存儲中的數據與指數一起。什麼是最好的存儲方式。我想通過網絡將此差異數據發送給客戶端。我只知道使用矢量或動態數組的方法。我真的很感謝幫助。

更新:oldArray []和newArra []是具有用於每個像素的深度值的視頻序列的兩個圖像幀,我要計算兩個幀之間的差,並通過網絡發送唯一的差別和在另一端,我會再次重建圖像幀,數據是整數範圍從0到1024.希望這可以幫助

+0

你想做什麼,爲什麼你沒有工作?你在尋找如何編碼差異或如何應用它? - 那麼也許你應該試着在你的問題中具體說明 – Soren

+0

你說「我只知道使用矢量或動態數組的方法」 - 這看起來是一個很好的解決方案。有沒有理由不起作用? –

+0

值是整數,浮點數,是什麼? – chux

回答

0

我會去std::map<int,std::pair<T,T>>其中密鑰是有問題的索引,而std::pair包含舊值在firstsecond中的新值。沒有條目等於firstsecond


至於你的編輯std::map<int,int>,其中關鍵是索引,和價值的區別可能足以讓你的位圖同步。


如何正確地通過網絡序列化是一個不同的水壺。

+0

現在我猜標準::地圖是最好的解決方案謝謝你的快速回復 –

+0

@vinaydatta嗯,保留原始信息總是更好,但我懷疑你的地圖的價值是差異,所以如果這是足夠的爲你好。序列化和保存帶寬當然更容易。 –

相關問題